python爬取网页中的文章_如何利用Scrapy爬虫框架抓取网页全部文章信息(上篇)...

点击上方“

Python爬虫与数据挖掘

”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

孤灯不明思欲绝,卷帷望月空长叹。

/前言/

,但是未实现对所有页面的依次提取。首先我们理一下爬取思路,大致思想是:当获取到第一个页面的URL之后,尔后将第二页的URL发送给Scrapy,让Scrapy去自动下载该网页的信息,之后通过第二页的URL继续获取第三页的URL,由于每一页的网页结构是一致的,所以通过这种方式如此反复进行迭代,便可以实现整个网页中的信息提取。其具体的实现过程将通过Scrapy框架来进行实现,具体的教程如下。

/具体实现/

1、首先URL不再是某一篇具体文章的URL了,而是所有文章列表的URL,如下图所示,将链接放到start_urls里边,如下图所示。

574993b5-7d61-44d6-991c-274ce34be670.png

2、接下来我们将需要更改parse()函数,在这个函数中我们需要实现两件事情。

其一是获取某一页面所有文章的URL并对其进行解析,获取每一篇文章里的具体网页内容,其二是获取下一个网页的URL并交给Scrapy进行下载,下载完成之后再交给parse()函数。

有了之前的Xpath和CSS选择器基础知识之后,获取网页链接URL就变得相对简单了。

81873855-afe3-404c-9712-0fd36ab0a969.png

3、分析网页结构,使用网页交互工具,我们可以很快的发现每一个网页有20篇文章,即20个URL,而且文章列表都存在于id="archive"这个标签下面,之后像剥洋葱一样去获取我们想要的URL链接。

c7661ed5-0a7a-41cb-aa31-ad5c97e1d5b0.png

4、点开下拉三角,不难发现文章详情页的链接藏的不深,如下图圈圈中所示。

4a33c7d8-44b1-49b5-9e4d-f81e286b84dc.png

5、根据标签我们按图索骥,加上选择器利器,获取URL犹如探囊取物。在cmd中输入下图命令,以进入shell调试窗口,事半功倍。再次强调,这个URL是所有文章的网址,而不是某一篇文章的URL,不然后面你调试半天都不会有结果的。

c20ad2b2-6d8c-43c7-99ee-e7b039ae4d1f.png

6、根据第四步的网页结构分析,我们在shell中写入CSS表达式,并进行输出,如下图所示。其中a::attr(href)的用法很巧妙,也是个提取标签信息的小技巧,建议小伙伴们在提取网页信息的时候可以经常使用,十分方便。

d788d82b-b38f-45eb-8595-6976f17330dd.png

至此,第一页的所有文章列表的URL已经获取到了。提取到URL之后,如何将其交给Scrapy去进行下载呢?下载完成之后又如何调用我们自己定义的解析函数呢?

欲知后事如何,且听下一篇文章分解。

/小结/

本文主要介绍了Scrapy爬虫框架抓取其中某个网页数据的理论,为后面抓取全网数据埋下伏笔,更精彩的操作在下篇文章奉上,希望对大家的学习有帮助。

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

------------------- End -------------------

往期精彩文章推荐:

65d7bf5e-8659-4aa5-a929-5f613924cc92.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值