Я пытаюсь, чтобы паук-скрап пролистал несколько страниц в архиве, чтобы открыть каждую отдельную ссылку и очистить содержимое связанной страницы.Я сталкиваюсь с некоторыми случайными ошибками HTTP 500, которые я пытаюсь пропустить, просто делая попытку, за исключением того, чтобы пропустить те страницы, которые возвращают 500 ошибок.
Первая часть функции синтаксического анализа перебирает hrefs на странице архива для очистки страниц с использованием функции parse_art.Вторая часть состоит в том, чтобы найти следующую страницу в архиве и перейти к этой странице, чтобы продолжить сканирование.
Я пытаюсь изменить программу, чтобы перебирать начальный URL, но, похоже, не могу получитьэто правильно.Любая помощь будет оценена.
Запуск scrapy на Python 3.7.
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.