亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - scrapy獲取網(wǎng)頁(yè)指定內(nèi)容,后翻到下一頁(yè)繼續(xù),固定循環(huán)次數(shù)。。問(wèn)題

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

問(wèn)題描述

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

代碼是這樣的。我想循環(huán)抓取的是:

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

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

問(wèn)題解答

回答1:

若你範(fàn)圍都確定的話,不如從start_urls 下手

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

官網(wǎng)上有例子,關(guān)于追蹤下一頁(yè),官網(wǎng)上面的例子用的是遞歸,官網(wǎng)的代碼如下:

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選擇器獲取到的下一頁(yè), 在下面它遞歸地調(diào)用了parse方法來(lái)不斷地追蹤下一頁(yè)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寫了一個(gè)貼吧的爬蟲,獲取下一頁(yè)用的也是這種遞歸的方法,代碼如下:

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)

標(biāo)簽: Python 編程
主站蜘蛛池模板: 国产日韩欧美亚洲综合首页 | 国产人成精品香港三级在 | 97超级碰碰碰碰在线视频 | 做爰成人五级在线视频 | 在线观看永久免费视频网站 | 精品乱人伦一区二区三区 | 美国三级网站 | 麻豆传媒免费视频 | 亚洲视频二区 | 国产精品国产三级国产a | 中国一级淫片bbb | freesexvideo性欧美tv2021 | 欧美特级限制片高清 | 日韩欧美在线播放 | 久久久久久久国产精品 | 国产黄色大全 | 色婷婷六月天 | 成人午夜免费视频 | 黄色六级片 | 亚洲欧美精品综合中文字幕 | 精品日韩一区二区三区视频 | 日韩亚洲欧美综合一区二区三区 | 性情视频在线高清免费 | 日本永久免费 | 亚洲精品区 | 国产精品中文字幕在线观看 | 色拍拍在线精品视频在线观看 | 久操视频网站 | 成人h视频在线观看 | 久久99热不卡精品免费观看 | 香蕉视频在线观看网址 | 久久99精品国产99久久6男男 | 国产99视频精品免费视频免里 | 成人区视频爽爽爽爽爽 | 一区二区三区免费在线 | 欧美天天射| 黄色视屏免费观看 | 尤物国产在线精品福利一区 | 伊人久久婷婷丁香六月综合基地 | 香蕉片视频在线观看 | 出a级黑粗大硬长爽猛视频 加勒比一道本综合 |