logo资料库

用python实现百度PC端关键词覆盖率的查询.pdf

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