scrapy 爬取一組有序的URL

http://www.xxx.com/search/1.html
http://www.xxx.com/search/2.html
http://www.xxx.com/search/3.html
http://www.xxx.com/search/4.html

比如如上的URL,只有一個地方在改變,如何簡寫呢?

start_urls = [http://www.xxx.com/search/1.html]

url = "http://www.xxx.com/search/%d.html"

pageNum = 1

def parse(self,pesponse):
    
    for sel in response.xpath("..."):
        獲取數據,放入管道
        yield item

    if self.pageNum <= 10:  
            self.pageNum += 1
            print('爬第:%d 頁' % self.pageNum)

            new_url = self.url %d self.pageNum) #進行拼接

            # callback 回調函數,頁面進行解析
            yield scrapy.Request(url=new_url, callback=self.parse)

注意,這裏會出現如下錯誤:

ValueError: unsupported format character 'C'

我們需要左以下修改:

new_url = self.url.replace('%d',str(self.pageNum))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章