当我试图抓取http://www.brand-in-trend.ru时,我遇到了一个屈服问题。正如您在下面看到的,我正在使用 Scrapy 并定义了一个 Basespider。第一个解析器工作得非常好,并返回在 start_url 上找到的所有品牌。
现在,当我想向类别解析器产生回调请求时,我没有得到响应也没有错误。蜘蛛就这样走了。
蜘蛛:
class brandintrend(BaseSpider):
name = "brandintrend"
allowed_domains = [ 'trend-in-brand.ru' ]
start_urls = [ 'http://brand-in-trend.ru/brands/' ]
def parse(self, response):
hxs = HtmlXPathSelector(response)
brands = hxs.select('//div[@class="brandcol"]/ul/li/a/@href').extract()
for brand in brands:
brand = "http://www.brand-in-trend.ru" + brand
print brand
# request = Request(brand, callback=self.categories)
yield Request(brand, callback=self.categories)
def categories(self, response):
print "Hello World"
hxs = HtmlXPathSelector(response)
print response.url
我已经尝试了以下方法来解决这个问题:
- 我在 Chrome 中测试了生成的品牌网址(例如http://www.brand-in-trend.ru/brands/parker/)(Javasript 已关闭),它们运行良好。
- 我将所有生成的品牌网址放在 start_url 列表中,并尝试将它们直接提供给类别解析器
- 我看了这篇文章,不幸的是没有解决我的问题:scrapy 无法进行 Request() 回调
如果有人遇到类似的问题,我会很高兴提供解决方案或建议
提前致谢
Ĵ