Python 3.x Web Scraping使用Scrapy标记问题

Python 3.x Web Scraping使用Scrapy标记问题,python-3.x,scrapy,Python 3.x,Scrapy,嗨,我有一只蜘蛛: import scrapy class TREC_spider(scrapy.Spider): "use this spider to obtain the proper tagged questions from http://cogcomp.org/Data/QA/QC/" name = "TREC" start_urls = ["http://cogcomp.org/Data/QA/QC/train_5500.label"] de

嗨,我有一只蜘蛛:

import scrapy

class TREC_spider(scrapy.Spider):

    "use this spider to obtain the proper tagged questions from http://cogcomp.org/Data/QA/QC/"

    name = "TREC"
    start_urls = ["http://cogcomp.org/Data/QA/QC/train_5500.label"]

    def parse(self,response):
        for question in response.selector.xpath("/html/body/pre/text()"):
            yield question
我将robots.txt设置为False,但在提示符下仍会显示以下文本:

2018-12-25 14:02:06 [scrapy.core.engine] INFO: Spider opened
2018-12-25 14:02:06 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2018-12-25 14:02:06 [scrapy.extensions.telnet] DEBUG: Telnet console listening on <inserrt adress here>
2018-12-25 14:02:06 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://cogcomp.org/Data/QA/QC/train_5500.label> (referer: None)
2018-12-25 14:02:07 [scrapy.core.engine] INFO: Closing spider (finished)
2018-12-25 14:02:06[刮屑核心引擎]信息:蜘蛛打开
2018-12-25 14:02:06[scrapy.extensions.logstats]信息:爬网0页(0页/分钟),爬网0项(0项/分钟)
2018-12-25 14:02:06[scrapy.extensions.telnet]调试:telnet控制台正在侦听
2018-12-25 14:02:06[刮屑核心引擎]调试:爬网(200)(参考:无)
2018-12-25 14:02:07[刮屑芯发动机]信息:关闭卡盘(已完成)

如何让我的爬行器真正抓取页面?

您需要返回项目或字典,请尝试将
生成问题
更改为:

yield {'question': question.extract_first()}

您需要返回项目或词典,请尝试将
yield question
更改为:

yield {'question': question.extract_first()}

xpath不匹配,因为
响应
实际上是
文本响应
。该URL不返回它返回的HTML
text/plain


您可能希望
生成响应。body_作为unicode()
或在将响应中的行作为结构化数据生成之前实际切碎它们

您的xpath不匹配,因为
响应
实际上是
文本响应
。该URL不返回它返回的HTML
text/plain

您可能希望
生成响应。body作为unicode()
或在将响应中的行作为结构化数据生成之前切碎这些行

爬网(200)
意味着它确实提取了文档,然后返回
200 OK
。在将来,你自己调试一下会有很大的帮助;尝试
self.log(“response=%s”,response)
观察
parse()
是否按预期调用
Crawled(200)
表示它确实获取了文档,并返回
200 OK
。在将来,你自己调试一下会有很大的帮助;尝试
self.log(“response=%s”,response)
以观察
parse()
是否按预期调用