如何抓取网页数据( Scrapy爬虫框架中meta参数的使用示例演示(上))
优采云 发布时间: 2021-10-28 05:08如何抓取网页数据(
Scrapy爬虫框架中meta参数的使用示例演示(上))
上一阶段我们实现了通过Scrapy爬取特定网页的具体信息,Scrapy爬虫框架中元参数的使用demo(上),以及Scrapy爬虫中元参数的使用demo框架(下),但是没有实现所有页面的顺序提取。首先我们梳理一下爬行的思路。大体思路是:当获取到第一页的URL后,再将第二页的URL发送给Scrapy,这样Scrapy就会自动下载该网页的信息,然后通过第二页的URL继续获取第三页的网址。由于每个页面的网页结构是相同的,这样反复迭代就可以实现对整个网页的信息提取。具体的实现过程会通过Scrapy框架来实现。具体教程如下。
/执行/
1、首先,URL不再是特定文章的URL,而是所有文章列表的URL,如下图,把链接放在start_urls中,如下图如下图所示。
2、接下来我们需要修改parse()函数,在这个函数中我们需要实现两件事。
首先是获取某个页面上文章的所有URL,并解析得到每个文章中的具体网页内容。二是获取下一个网页的URL,交给Scrapy处理。下载完成后交给parse()函数进行下载。
有了之前的 Xpath 和 CSS 选择器的基础知识,获取一个网页链接的 URL 就变得相对简单了。
3、分析网页结构,使用网页交互工具,我们可以很快发现每个网页有20个文章,也就是20个网址,而文章的列表存在于id中="在标签“存档”下,然后我们将像剥洋葱一样获得我们想要的URL链接。
4、点击下拉三角,不难发现文章详情页的链接并没有隐藏很深,如下图圆圈所示。
5、根据标签,我们搜索图片并添加选择器工具获取URL,就像搜索某些东西一样。在cmd中输入以下命令进入shell调试窗口,事半功倍。再说一遍,这个网址是所有文章的网址,而不是某个文章的网址。如果不这样做,调试很长时间后将没有结果。
6、根据第四步对网页结构的分析,我们在shell中编写CSS表达式并输出,如下图所示。其中a::attr(href)的用法很巧妙,也是提取标签信息的一个小技巧。推荐朋友们在提取网页信息的时候可以经常使用,非常方便。
至此,第一页文章列表的所有URL都已获取。提取URL后,如何交给Scrapy下载?下载完成后,如何调用自己定义的解析函数?