涉及知识点

1、抓取数据

2、分页爬虫

规律分析

1、抓取数据,发现每一项都是data-tools标签

2、分页分析

代码

import requests
from bs4 import BeautifulSoup
import re
import json
import jieba
#获取html页面信息
def getKeywordResult(keyword, pagenum):url = 'http://www.baidu.com/s?wd=' + keyword + '&pn=' + pagenum + '0'try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""
#解析并抽取数据
def parserLinks(html):soup = BeautifulSoup(html, "html.parser")links = []for div in soup.find_all('div', {'data-tools':re.compile('title')}):data = div.attrs['data-tools']d = json.loads(data)links.append(d['title'])words_all.append(d['title'])return links, words_all
#词频统计
def words_ratio(words_all):words = []for i in words_all:tmp = jieba.lcut(i)for tmp_word in tmp:words.append(tmp_word)counts = {}for word in words:if len(word) == 1:continueelse:counts[word] = counts.get(word, 0) + 1items = list(counts.items())items.sort(key=lambda x: x[1], reverse=True)for i in range(30):word, count = items[i]print("{0:<10}{1:>5} 占比:{2}".format(word, count, int(count)/len(words)))
def main():for pagenum in range(0, 50):html = getKeywordResult('老张', str(pagenum))#输入搜索关键词和页数ls, words_all = parserLinks(html)count = pagenum + 1for i in ls:print("[{:^3}]{}".format(count, i))ls = []words_ratio(words_all)
if __name__ == '__main__':words_all = []main()

结果

后续的思考

代码都很简单,高手要懂得如何去扩展。现在虽然数据都爬下来了,但是非常凌乱,仍然需要人工去分析比对。这样的数据我称之为裸数据,理想的数据是可读且有关联的,我称之为金子数据。

这个转换分析的过程涉及到两个问题:

1、如何实现可读?

可以用字典里面的del[]方法删去坏的数据

2、如何实现数据的关联性?

先将裸数据进行二次分析,将相关的字项放到一块,然后再做运行

转载于:https://blog.51cto.com/12814931/2126612

【数据分析】python分析百度搜索关键词的频率相关推荐

  1. 【Python爬虫教学】百度篇·手把手教你抓取百度搜索关键词后的页面源代码

    [开门见山] 最近整理了下之前做过的项目,学的东西不少,乱七八糟.打算写点关于 Python 爬虫的东西,新人一枚,还望大佬们多多担待,别把我头给打歪了. 前面我先磨叽磨叽些基础的东西,对爬虫新人友好 ...

  2. 百度关键词排名查询源码_百度推广优化技巧,百度搜索关键词排名优化

    一个网站应该怎么做百度关键词排名优化工作_关键词排名_天启速推 1:网址构造的提升是头等大事.百度爬虫也是浏览量,出色的文件目录排序使他很轻轻松松的找到你的內容,排行当然就高,假如网站导航构造乱七八糟 ...

  3. python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接

    前言 近期有许多项目需要这个功能,由于Python实现起来比较简单就这么做了,代码贴下来觉得好点个赞吧~ 代码 # coding: utf-8 import os import time import ...

  4. python模拟百度搜索点击链接_python采集百度搜索结果带有特定URL的链接代码实例...

    这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 ...

  5. php 百度来路关键词,php获取百度搜索关键词的方法[方法过时了]

    本来是想找一段通过js获取百度关键词的方法的,结果找并且测试获取到是可以就是只能获取到英文字符,如果是汉字就会乱码!知道可能是转码的问题,使用之前用过的代码也出现这样的问题!刚好看到php获取搜索关键 ...

  6. php 百度竞价跳转代码,百度搜索关键词进网站的跳转到另外一个网站的实现方案...

    很多时候,百度竞价或者是百度搜索进来关键词的时候需要做个跳转.前段时候有个客户让做了这样的一个效果.现在总结一下,给后来人做个参考. 先说实现思路: 1.我们先确定做跳转可能用到的是三种方法: ①.服 ...

  7. 白杨SEO:如何利用B站权重在百度搜索关键词排名进行精准引流?

    B站是什么?有什么价值? B站是什么,并不是每个人都知道吧.它类似和知乎.豆瓣等一个小众产品. PC网址:https://www.bilibili.com/ 百科介绍是:哔哩哔哩(英文名称:bilib ...

  8. python爬取热门新闻每日排行_用python查看百度搜索中今日热点事件排行榜

    大家好,我是咿哑呀.我们知道,在百度搜索中,查看今日热点事件排行榜时,可以打开网址"http://top.baidu.com/buzz?b=341&c=513&fr=topb ...

  9. 百度搜索关键词纠错机制研究

    自动纠错链接:https://www.baidu.com/baidu?wd=c%E8%AF%AD%E8%A8%80+%E6%8E%A5%E5%8F%97%E5%8F%82%E6%95%B0&t ...

最新文章

  1. c语言编写木马软件,【C语言】后台木马程序
  2. apt-get update,apt-get upgrade,apt-get dist-upgrade的作用
  3. 【深度学习】神经网络模型特征重要性可以查看了!!!
  4. 吾解——HTTP(超文本传输协议)
  5. Suricata的初始化脚本
  6. 到2025年将保持不变的热门流行技术
  7. python--从入门到实践--chapter 11 代码测试unittest
  8. 女魔头VS小奶狗,男女主拿错剧本!仙侠爽剧《招摇》今晚安排
  9. 【linux学习笔记八】常用命令
  10. CSS设计指南(第3版)
  11. [面试]——用一行代码判断两矩形是否相交
  12. tomcat是什么_为什么开发者放弃了Tomcat,选择了Undertow?
  13. python3打造专属的下载软件
  14. 藏在耳机里的小东西——蓝牙天线
  15. XCODE 9:最新功能详尽介绍
  16. 药店千方百剂系统无法连接服务器,管家婆千方百剂软件常见问题解决办法分享...
  17. 请教统计对应表字段为空的字段数
  18. 国庆头像html代码
  19. 程序人生:我相信每个软件测试工程师都有一份跟我差不多的心酸历程?
  20. 中国移动呼叫转移设置

热门文章

  1. 黑苹果能登录苹果账号吗_你能让我的网站更像苹果吗
  2. 提供 Microsoft R Open 和 Microsoft R Server 安装文件的位置
  3. android 6.0 x86 64,安卓x86 6.0 iso下载|android x86 6.0 iso系统下载RC1 版_64位/32位IT猫扑网...
  4. 阿里云AMD服务器CPU:AMD EPYC Genoa 9T34处理器性能
  5. 20个手机射频常见问答
  6. 本地存储和cookie
  7. csv文件读取与写出
  8. excel快速插入一行或多行
  9. DP基本问题总结(2018.5.29 2018.6.9 2018.8.9更新)
  10. vue项目查看vue版本及cli版本