Python 如何让scrapy使用url在存档上进行迭代?
我正在尝试让一个“刮擦蜘蛛”在归档文件中的几个页面中爬行,目标是打开每个链接并刮擦链接页面的内容。我遇到了一些随机的HTTP500错误,我只是尝试跳过这些返回500个错误的页面 parse函数的第一部分迭代归档页面中的HREF,以便使用parse_art函数对页面进行刮取。第二部分是查找归档中的下一个页面,然后继续抓取该页面 我试图将程序更改为在初始URL上迭代,但似乎无法正确执行。任何帮助都将不胜感激 在Python3.7上运行scrapyPython 如何让scrapy使用url在存档上进行迭代?,python,python-3.x,scrapy,Python,Python 3.x,Scrapy,我正在尝试让一个“刮擦蜘蛛”在归档文件中的几个页面中爬行,目标是打开每个链接并刮擦链接页面的内容。我遇到了一些随机的HTTP500错误,我只是尝试跳过这些返回500个错误的页面 parse函数的第一部分迭代归档页面中的HREF,以便使用parse_art函数对页面进行刮取。第二部分是查找归档中的下一个页面,然后继续抓取该页面 我试图将程序更改为在初始URL上迭代,但似乎无法正确执行。任何帮助都将不胜感激 在Python3.7上运行scrapy import scrapy url_number =
import scrapy
url_number = 1
class SpiderOne(scrapy.Spider):
name = 'spider1'
start_urls = ["http://www.page2bscraped.com/archive?page=%d" % url_number]
#Parses over the archive page
def parse(self, response):
global url_number
for href in response.xpath(".//a/@href"):
yield response.follow(href, self.parse_art)
for href in response.xpath(start_url):
yield response.follow(start_url, self.parse)
url_number += 1
#Parses page contents
def parse_art(self, response):
#code goes here
我试图让爬行器利用url并简单地向当前存档编号添加1,而不是依赖(不可靠的)“下一页”Xpath,从而在存档中爬行。更改值
url\u编号
无法更改url
中的值
您必须再次生成完整的url
def parse(self, response):
global url_number
for href in response.xpath(".//a/@href"):
yield response.follow(href, self.parse_art)
url_number += 1
url = "http://www.page2bscraped.com/archive?page=%d" % url_number
yield response.follow(url, self.parse)
向
url\u number
添加值无法更改url中的值。这样不行。您必须再次使用“http://www.page2bscraped.com/archive?page=%d“%url\u number
创建新url。