Scrapy Spider不使用yield跟随Request回调

时间:2017-08-08 17:34:21

标签: python web-scraping scrapy web-crawler scrapy-spider

我是scrapy的新手,我不能让我的蜘蛛在下面的代码中输入parse_votes,即使我将其设置为回调。其他解析方法工作正常,我没有得到任何错误并检查了链接'变量具有正确的信息。 HELP?

编辑 - 完整代码

{{1}}

2 个答案:

答案 0 :(得分:1)

您的问题是allowed_domains,因为您尝试在parse_deputy中请求的链接例如是:http://www.camara.gov.br/internet/deputado/RelVotacoes.asp?nuLegislatura=55&nuMatricula=410&dtInicio=01/01/2016&dtFim=30/12/2016 其域名为camara.gov.br,因此请将其添加到allowed_domains

allowed_domains = ["camara.leg.br", "camara.gov.br"]

PS:我运行了代码评论allowed_domainsparse_votes完美无缺。

答案 1 :(得分:0)

我跑了你的蜘蛛,找到了为什么它的神经进入parse_votes

我检查了link中的yield scrapy.Request(link, callback=self.parse_votes, meta={'vote': vote}),发现它不在同一个域中

link属于camara.gov.br域,不属于allowed_domains = ["camara.leg.br"]

因此,您需要将此域添加到allowed_domains列表。

allowed_domains = ["camara.leg.br", "camara.gov.br"]