随着大数据和人工智能多次被大佬提及之后, 并且被定义为未来的大趋势后, 天然适合于大数据和人工智能的编程语言 python 也异常火热, 市面上出现了不少的高价格大规模的 python 培训机构和 python 教程
作为 python 的年轻用户, 其实不是很建议非编程科班花太多时间研究 python, 作为一门语言, 掌握并且运用需要系统的知识, 需要大量的时间和实操场景的; 为了让没有经验但是对 python 好奇的朋友理解 python, 那我就以一个例子具体来介绍 python 的在采集数据中的具体运用
如下图, 我们需要采集先后排名电影名称主演上映时间评分 5 个信息, 而且这些排名是分布在 1-10 页之间, 每页总共 10 条信息, 这就需要做翻页处理
爬虫采集的基本步骤是通过发送 requests 请求, 获得返回网页信息, 再从获得的返回信息, 提取出需要的信息, 最后呢, 对信息保持处理下面就以采集猫眼电影前 100 榜单排名信息为例
一通过 requests 发送请求信息:
如下图所示, 导入 requests 库, 定义一个链接函数, 在函数里面发送采集请求, 再获得需要的采集信息, 为了保证采集的顺利, 这里还对返回的状态码做了判断;
最终得到的返回信息如下图:
二抽取需要的信息:
通过上面发现, 我们获得的夹杂这代码的信息, 因此是需要对目标信息做抽取处理这里我们用的是正则表达式来对内容做处理
仔细观察不难发现, 每条信息的 html 内容都是一样的, 所以我只需要对其中一条信息做抽取, 之后用循环完成 100 条信息的抽取, 具体如下:
1 正则表达式内容如下, 红框内容就是我们需要的信息
2 通过定义函数抽取需要的信息: 下图就是定义一个参数为 HTML 的函数, 在函数里面通过正则表达式获得目标信息, 并且把这些信息整理成一个固定的容器
得到如下效果: 这些信息并不是按照需要的效果组合起来, 并且还有一些不必要的分行字符, 这些效果还是需要重新整理
因此需要, 这里通过 for 循环逐次把同组信息整理在一起, 并且通过 strip() 方法去掉换行字符, 得到:
三将采集得到的信息保持在文档中
把上述信息整理完毕后, 就需要将这些信息存储在文档中, 这里就存储在电脑上并且格式为 text 文档这里需要注意的是, 要对编码做修改, 以防出现乱码的情况, 具体信息:
以上采集的只是一个页面, 但是这里有 10 页信息需要采集, 因此需要对 url 路径做设置, 当在采集时自动翻页
全文代码:
来源: http://www.jianshu.com/p/d41b421571c5