php用正则表达抓取网页中文章(获赠Python从入门到进阶共10本电子书(组图))

优采云 发布时间: 2022-02-05 20:06

  php用正则表达抓取网页中文章(获赠Python从入门到进阶共10本电子书(组图))

  点击上方“Python爬虫与数据挖掘”关注

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

  这

  日

  小鸡

  汤

  孤灯陷入沉思,卷起帘子,望着月空叹息。

  /前言/

  前段时间小编给大家分享了Xpath和CSS选择器的具体用法。有兴趣的朋友可以戳这些文章文章复习,,,,,,,学习如何使用选择器。它可以帮助您更好地利用 Scrapy 爬虫框架。在接下来的几篇文章中,小编会讲解爬虫主文件的具体代码实现过程,最终实现对网页所有内容的爬取。

  上一阶段,我们通过Scrapy实现了特定网页的具体信息,但还没有实现对所有页面的顺序提取。首先,我们来看看爬取的思路。大致思路是:当获取到第一页的URL后,再将第二页的URL发送给Scrapy,这样Scrapy就可以自动下载该页的信息,然后传递第二页的URL。URL继续获取第三页的URL。由于每个页面的网页结构是一致的,这样就可以通过反复迭代来实现对整个网页的信息提取。具体实现过程将通过Scrapy框架实现。具体教程如下。

  /执行/

  1、首先,URL不再是特定文章的URL,而是所有文章列表的URL,如下图,把链接放在start_urls中,如下图所示。

  

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

  一种是获取一个页面上所有文章的URL并解析,得到每个文章中具体的网页内容,另一种是获取下一个网页的URL并手它交给 Scrapy 进行处理。下载,下载完成后交给parse()函数。

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

  

  3、分析网页结构,使用网页交互工具,我们可以很快发现每个网页有20个文章,也就是20个URL,文章的列表存在于id="archive" 标签,然后像剥洋葱一样得到我们想要的 URL 链接。

  

  4、点击下拉三角形,不难发现文章详情页的链接并没有隐藏很深,如下图圆圈所示。

  

  5、根据标签,我们可以根据图片搜索图片,并添加选择器工具,获取URL就像搜索东西一样。在cmd中输入以下命令进入shell调试窗口,事半功倍。再次声明,这个URL是所有文章的URL,而不是某个文章的URL,否则调试半天也得不到结果。

  

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

  

  至此,第一页所有文章列表的url都获取到了。解压后的URL,如何交给Scrapy下载?下载完成后,如何调用我们自己定义的分析函数呢?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线