Я прочитал Scrapy: Follow link to get additional Item data? и пошел за ним, но он не работает, возможно, это простая ошибка, поэтому я помещаю исходный код моего Паука.Scrapy Spider не следующий Запрос обратного вызова
import scrapy
from scrapy.spider import Spider
from scrapy.selector import Selector
class MySpider1(Spider):
name = "timeanddate"
allowed_domains = ["http://www.timeanddate.com"]
start_urls = (
'http://www.timeanddate.com/holidays/',
)
def parse(self, response):
countries = Selector(response).xpath('//div[@class="fixed"]//li/a[contains(@href, "/holidays/")]')
for item in countries:
link = item.xpath('@href').extract()[0]
country = item.xpath('text()').extract()[0]
linkToFollow = self.allowed_domains[0] + link + "/#!hol=1"
print link # link
print country # text in a HTML tag
print linkToFollow
request = scrapy.Request(linkToFollow, callback=self.parse_page2)
def parse_page2(self, response):
print "XXXXXX"
hxs = HtmlXPathSelector(response)
print hxs
Я пытаюсь тоже получить список всех праздников в каждой стране, то есть то, что мне нужно, чтобы получить на другую страницу.
Я не могу понять, почему parse_page2 не вызывается.
Вы никогда не возвращает запрос в 'синтаксический ' – Ngenator
Я устал вернуть его, но и он не работает. Если у вас есть время, пожалуйста, покажите мне код с вашей идеей. – WebOrCode
'yield request' после этого' request = scrapy.Request (...) 'line. – Ngenator