首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬虫的两套解析方法和四种爬虫实现

对于大多数朋友而言,爬虫绝对是学习的最好的起手和入门方式。因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都可以成功入门。本文想针对某一网页对基础爬虫的两大解析库(和)和几种信息提取实现方法进行分析,以开爬虫之初见。

基础爬虫的固定模式

笔者这里所谈的基础爬虫,指的是不需要处理像异步加载、验证码、代理等高阶爬虫技术的爬虫方法。一般而言,基础爬虫的两大请求库和中通常为大多数人所钟爱,当然也功能齐全。两大解析库因其强大的文档解析功能而备受青睐,另一款解析库在搭配表达式的基础上也效率提高。就基础爬虫来说,两大请求库和两大解析库的组合方式可以依个人偏好来选择。

笔者喜欢用的爬虫组合工具是:

同一网页爬虫的四种实现方式

笔者以腾讯新闻首页的新闻信息抓取为例。

首页外观如下:

比如说我们想抓取每个新闻的标题和链接,并将其组合为一个字典的结构打印出来。首先查看源码确定新闻标题信息组织形式。

可以目标信息存在于标签下标签内的文本和属性中。可直接利用库构造请求,并用或者进行解析。

方式一:++css选择器

很常规的处理方式,抓取效果如下:

方式二:++进行信息提取

同样是+的爬虫组合,但在信息提取上采用了的方式。效果如下:

方式三:++表达式

使用库下的模块进行解析,然后使用表达式进行信息提取,效率要略高于+方法。这里对两个列表的组合采用了方法。效果如下:

方式四:++表达式

跟方法三类似,只是在解析上使用了库下的模块。抓取效果如下:

很多人觉得爬虫有点难以掌握,因为知识点太多,需要懂前端、需要python熟练、还需要懂数据库,更不用说正则表达式、XPath表达式这些。其实对于一个简单网页的数据抓取,不妨多尝试几种抓取方案,举一反三,也更能对python爬虫有较深的理解。长此以往,对于各类网页结构都有所涉猎,自然经验丰富,水到渠成。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180325B12MZA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券