【视频教程】用Python实现百度PC端关键词覆盖率查询
优采云 发布时间: 2022-05-07 11:25【视频教程】用Python实现百度PC端关键词覆盖率查询
一、概述
当我们要了解一批关键词的操作手法的时候,最简单的方法就是学习一下那些排名好的竞争对手的操作方法。然后去模仿他们的做法,那么我们就需要拿这批关键词去百度进行搜索,然后提取出排名前面的竞争对手的网址。
当我们想了解一下自有网站在某些关键词的排名情况的时候,也是需要一个个关键词的去进行查询,然后提取出自己网站的排名和对应的地址。
以上的两种情况都需要我们对搜索结果的数据进行结构化的提取,如果是数据量很小的时候,可能我们还可以人工的搜一下,但是当我们需要检查几万,十几万,甚至是几十上百万的关键词的时候,那么一个自动化的工具就是我们迫切需要的。
下面的教程就是教大家怎么用python来自己造一个这样的工具出来。
二、知识点及所需模块
1、所需知识点梳理
因为是爬虫入门课程,所以需要到的都是python的基础知识。需要了解Python的基础数据类型、函数式编程的知识以及python的错误处理机制和一些多线程的 基础(课程也会讲到)。
非Python的知识点主要有正则表达式的基础、HTML(div+css)基础知识。
2、所用到的python模块:
网页下载模块:urllib2,requests(后期重构代码时添加的,安装方法:pip install requests)
正则表达式模块:re (提取网页数据)
链接解析模块:urlparse (解析URL用)
多线程模块:threading (速度快不快就靠它了)
限制请求速度:time (避免被封)
3、用到的IDE
ipython notebook:用于测试代码和模块用法查询等
安装方法:(Windows系统最好安装64位的python,基于python2.7.x)
pip install jupyter
pycharm:用于编写完整项目
破解网址:
三、程序结构
覆盖率查询最终需要的数据:
结果保存:以字典(dict)的方式进行保存统计
最终输出保存为txt文件
关键词排名查询最终需要数据
最终结果保存为txt文件
基于上述的分析,以及为了降低程序的耦合度,实现更容易实现程序的扩展考虑,我们需要将每个功能模块给进行独立的封装:
百度serp源码下载函数(downloader): 主要实现提供一个关键词,然后下载百度的源代码并返回。对于下载失败的,可以进行给定次数的重新下载。
覆盖率查询的百度serp结果提取函数(coverParser): 主要是提取百度搜索结果的网站排名加密地址
百度加密地址解析函数(secUrlParser): 主要对百度的加密地址还原为真实的网站地址并提取出域名部分
覆盖率结果统计函数(coverCounter): 对所有的域名进行次数统计
多线程处理函数(thread_process): 主要用于集成整个处理流程,然后通过多线程来调用
多线程调度函数(dispatcher): 加快爬虫的抓取效率
结果输出及排序函数(output): 先对结果进行倒序排序后输出到txt文件
视频地址:密码:qpav