国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python - scrapy獲取網頁指定內容,后翻到下一頁繼續,固定循環次數。。問題

瀏覽:177日期:2022-06-29 18:45:48

問題描述

import scrapyfrom movie.items import MovieItem class MeijuSpider(scrapy.Spider): name = 'meiju' allowed_domains = ['alexa.cn'] start_urls = [’www.alexa.cn/siterank’] def parse(self, response): movies = response.xpath(’//ul[@class='siterank-sitelist']/li’) for each_movie in movies:item = MovieItem()item[’name’] =each_movie.xpath(’.//p[@class='infos']’).extract()[0]yield item

代碼是這樣的。我想循環抓取的是:

www.alexa.cn/siterank/2www.alexa.cn/siterank/3www.alexa.cn/siterank/4.....

我看循環應該是這樣的for i in range(2,10):yield scrapy.Request(’www.alexa.cn/siterank/%d’%i),但是我不知道怎么填進去。求助

問題解答

回答1:

若你範圍都確定的話,不如從start_urls 下手

start_urls = [’http://www.alexa.cn/siterank/{n}’.format(n=x) for x in range(2,10)] 回答2:

官網上有例子,關于追蹤下一頁,官網上面的例子用的是遞歸,官網的代碼如下:

import scrapyclass QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = [’http://quotes.toscrape.com/page/1/’, ] def parse(self, response):for quote in response.css(’p.quote’): yield {’text’: quote.css(’span.text::text’).extract_first(),’author’: quote.css(’small.author::text’).extract_first(),’tags’: quote.css(’p.tags a.tag::text’).extract(), }# next_page是用css選擇器獲取到的下一頁, 在下面它遞歸地調用了parse方法來不斷地追蹤下一頁next_page = response.css(’li.next a::attr(href)’).extract_first()if next_page is not None: next_page = response.urljoin(next_page) yield scrapy.Request(next_page, callback=self.parse)

我自己用Scrapy寫了一個貼吧的爬蟲,獲取下一頁用的也是這種遞歸的方法,代碼如下:

import scrapyfrom tieba_crawler.items import ImageItemclass TiebaSpider(scrapy.Spider): name = ’tbimg’ def start_requests(self):url = ’http://tieba.baidu.com/f?kw=%E6%B8%A1%E8%BE%B9%E9%BA%BB%E5%8F%8B’yield scrapy.Request(url=url, callback=self.parse_post) def parse_post(self, response):post_list = response.css(’ul#thread_list li.j_thread_list’)for item in post_list: title = item.css(’a.j_th_tit::text’).extract_first() url = ’http://tieba.baidu.com’ + item.css(’a.j_th_tit::attr(href)’).extract_first() yield scrapy.Request(url=url, callback=self.parse_image)page_list = response.css(’p#frs_list_pager a::attr(href)’).extract()if not page_list: returnelse: next_page = page_list[-2] if next_page:yield response.follow(next_page, callback=self.parse_post) def parse_image(self, response):img_urls = response.css(’p#j_p_postlist img.BDE_Image::attr(src)’).extract()yield ImageItem(image_urls=img_urls)page_list = response.css(’ul.l_posts_num li.pb_list_pager a::attr(href)’).extract()if not page_list: returnelse: next_page = page_list[-2] if next_page:yield response.follow(next_page, callback=self.parse_image)

標簽: Python 編程
主站蜘蛛池模板: 香港三级网站 | 91福利国产在线观看香蕉 | 99久久精彩视频 | 国产高清在线精品一区二区三区 | 97免费视频在线 | 国产网站在线看 | 欧美三级不卡在线观看视频 | 国产资源精品一区二区免费 | 国产日韩高清一区二区三区 | 亚洲人成日本在线观看 | 欧美一级人与动毛片免费播放 | 欧美色欧 | 男人操美女 | 成人免费影院 | 欧美色成人 | 色在线看| 国产九九精品视频 | 亚洲aⅴ男人的天堂在线观看 | 成a人v| 视频一区亚洲 | 欧美一级特黄aa大片在线观看免费 | 国产护士一级毛片高清 | 91视频欧美 | 日韩精品在线观看免费 | 国产91精品久久久久999 | 国产综合精品久久久久成人影 | 美女很黄很黄 | 成人18免费视频 | 欧美一级在线看 | 国产精品理论片在线观看 | 91伊人国产 | 欧美韩国日本在线 | 大伊香蕉精品视频在线天堂 | 久久久久久精 | 在线观看精品视频 | 国产精品一区高清在线观看 | 欧美亚洲日本国产综合网 | 亚洲精品国产一区二区图片欧美 | 成人免费一区二区三区在线观看 | 成人免费观看视频久爱网 | 午夜爽爽爽视频 |