现在的位置:主页 > 综合新闻 >

[python]详解Scrapy框架爬取分页资料的实用技巧--第

来源:中国实用医药 【在线投稿】 栏目:综合新闻 时间:2021-03-09 05:15

【作者】:网站采编

【关键词】:

【摘要】相信大家在浏览网页的经验中,都有看过利用分页的方式来呈现,将内容切成好几页,除了能够提升网页的执行效率外,还可以增加了使用者的体验。 在前面的Scrapy网页爬虫框架系列教

相信大家在浏览网页的经验中,都有看过利用分页的方式来呈现,将内容切成好几页,除了能够提升网页的执行效率外,还可以增加了使用者的体验。

在前面的Scrapy网页爬虫框架系列教学中,都分享了爬取单一网页的内容,这时候如果想要利用Scrapy网页爬虫框架来爬取多页的资料,该如何实作呢?这里就来延续[python]教你Scrapy框架汇出CSV档案方法提升资料处理效率-第七篇文章的教学内容,一起来学习这个技巧吧。实作的步骤包含:

Scrapy专案建立网页内容爬取方法(方法)Scrapy定位网页的下一页按钮Scrapy爬取多页的网页内容

一,Scrapy专案建立网页内容爬取方法(方法)

首先,来回顾一下目前在Scrapy网页爬虫(spiders / )所建立的parse()方法(Method),如下范例:

进口沙皮类InsideSpider (刮y的。蜘蛛):名称=“内部”allowed_domains = [ '' ]start_urls = [ ' ]def parse (self ,response ):#爬取文章标题post_titles =响应。xpath (“ // h3 [@ class ='post_title'] / a [@ class ='js-auto_break_title'] / text()”)。getall ()#爬取发布日期post_dates =响应。xpath (“ // li [@ class ='post_date'] / span / text()”)。getall ()#爬取作者post_authors =回应。xpath (“ // span [@ class ='post_author'] / a / text()”)。getall ()对于数据在拉链(post_titles ,post_dates ,post_authors ):NewsScraperItem = {“ post_title” :数据[ 0 ],“ post_date” :数据[ 1 ],“ post_author” :数据[ 2 ]}产生NewsScraperItem

以上范例第1132行为爬取INSIDE硬塞的网路趋势观察网站-AI新闻的单一网页,为了提升其中爬取逻辑的重用性(可重复使用),此处将其独立成一个新方法(Method),如下范例:

进口沙皮 刮y的类InsideSpider (scrapy 。蜘蛛):名称= “内部”allowed_domains = [ '' ]start_urls = [ ' ]def parse (self ,response ):产量从自我。刮(回应)#爬取网页内容def scrape (self ,response ):#爬取文章标题post_titles =响应。xpath (“ // h3 [@ class ='post_title'] / a [@ class ='js-auto_break_title'] / text()”)。getall ()#爬取发布日期post_dates =响应。xpath (“ // li [@ class ='post_date'] / span / text()”)。getall ()#爬取作者post_authors =回应。xpath (“ // span [@ class ='post_author'] / a / text()”)。getall ()对于数据在拉链(post_titles ,post_dates ,post_authors ):NewsScraperItem = {“ post_title” :数据[ 0 ],“ post_date” :数据[ 1 ],“ post_author” :数据[ 2 ]}产生NewsScraperItem

由于爬取逻辑被独立为一个新方法(方法),这时候在parse()方法(方法)中,则需使用“ yield from”关键字来进行呼叫,并导致网页的响应结果(response),来执行网页资料的爬取,如上范例第11行。

二,Scrapy定位网页的下一页按钮

开启INSIDE硬塞的网路趋势观察网站-AI新闻,往下可以看到页码的区域如下图:

接下来,返回Scrapy专案的spiders / 档案,在parse()方法(Method)中,即可利用Scrapy框架的xpath()方法(Method),以“下一页”按钮的样式类别(class)来进行定位,如下范例第1415行:

进口沙皮 刮y的

文章来源:《中国实用医药》 网址: http://www.zgsyyyzzs.cn/zonghexinwen/2021/0309/911.html

上一篇:超实用!如何选购质量好又舒适的皮鞋?请看这
下一篇:13万如何抉择?现代名图与大众朗逸 谁更实用谁