【发布时间】:2015-02-19 18:49:11
【问题描述】:
我已经阅读了Scrapy: Follow link to get additional Item data? 并关注了它,但它不起作用,可能是一个简单的错误,所以我把我的蜘蛛的源代码。
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。
【问题讨论】:
-
你永远不会返回
parse中的请求 -
我累了退货,但它也无法正常工作。如果你有时间,请用代码告诉我你的想法。
-
yield request在request = scrapy.Request(...)行之后。 -
我也试过了,没用。