由于在执行Scrapy网页爬虫时,一定会先执行一次,所以第8行的执行次数(计数)一级计数。
接下来,就可以在每一次一次请求下一页的网址前,将执行次数(计数)加1,判断如果在3次内,就发送请求,否则停止,如下范例第2225行:
进口沙皮 刮y的类InsideSpider (scrapy 。蜘蛛):名称= “内部”allowed_domains = [ '' ]start_urls = [ ' ]count = 1 #执行次数def parse (self ,response ):产量从自我。刮(回应)#爬取网页内容#定位「下一页」按钮元素next_page_url =响应。xpath (“ // a [@ class ='pagination_item pagination_item-next'] / @ href” )如果next_page_url :url = next_page_url 。get ()#取得下一页的网址InsideSpider 。计数+ = 1如果InsideSpider 。计数<= 3 :产量沙哑。请求(URL ,回调=自我。解析)#发送请求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
最后,利用以下指令来执行Scrapy网页爬虫:
$scrapy爬进里面
截取部分执行结果如下图:
以上就是爬取INSIDE硬塞的网路趋势观察网站-AI新闻的前3页内容,读者可依自己的需求来进行页数的调整。
四,小结
在实务上开发Python网页爬虫时,爬取分页资料是经常会碰到的情况,而此则利用一个实际的案例来让读者了解如何在Scrapy网页爬虫框架中来进行实作,对于想要爬取许多分页的读者,希望本文能够帮助您,如果有其他的想法或问题,欢迎在底下留言和我分享。
#Python爬虫#
文章来源:《中国实用医药》 网址: http://www.zgsyyyzzs.cn/zonghexinwen/2021/0309/911.html
中国实用医药投稿 | 中国实用医药编辑部| 中国实用医药版面费 | 中国实用医药论文发表 | 中国实用医药最新目录
Copyright &copy; 20019-2020 中国实用医药 版权所有
投稿电话: 投稿邮箱: