scrapy 0.16,响应没有属性选择器xpath()

scrapy 0.16,响应没有属性选择器xpath(),scrapy,response,web-crawler,Scrapy,Response,Web Crawler,我在谷歌上搜索过,也看到了关于堆栈溢出的问题,但没有任何效果。我经历过 另外,请阅读scrapy.selector导入HtmlXPathSelector的建议 但是什么都没用 response.body和response.headers工作正常,但是response.selector和response.xpath()给出错误,表示响应对象不存在此类属性 我也无法导入选择器,因为在scrapy目录层次结构中没有选择器(不知道为什么) 我正在使用SCRAPY 0.16(使用Django Dyn

我在谷歌上搜索过,也看到了关于堆栈溢出的问题,但没有任何效果。我经历过

  • 另外,请阅读scrapy.selector导入HtmlXPathSelector的
    建议
    但是什么都没用
response.bodyresponse.headers工作正常,但是response.selectorresponse.xpath()给出错误,表示响应对象不存在此类属性

我也无法导入选择器,因为在scrapy目录层次结构中没有
选择器
(不知道为什么)


我正在使用SCRAPY 0.16(使用Django Dynamic Scraper,因此无法更新,因为它仅与此版本兼容)

您可能正在查看最新版本的文档。自0.16以来发生了很多变化。您应该查看0.16的文档

您的示例应该如下所示:

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector

class DmozSpider(BaseSpider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
    ]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        sites = hxs.select('//ul/li')
        for site in sites:
            title = site.select('a/text()').extract()
            link = site.select('a/@href').extract()
            desc = site.select('text()').extract()
            print title, link, desc

如本教程所述

非常感谢您对此进行深入研究…………再次感谢……该链接也很有用……)
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector

class DmozSpider(BaseSpider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
    ]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        sites = hxs.select('//ul/li')
        for site in sites:
            title = site.select('a/text()').extract()
            link = site.select('a/@href').extract()
            desc = site.select('text()').extract()
            print title, link, desc