python - 我收到一个 AttributeError : 'HtmlResponse' object has no attribute 'xpath' in scrapy

标签 python xpath scrapy

我是 scrapy 的新手,我正在使用 Scrapy 0.14.4。我只想按照以下示例打印标题和链接。

这是我的蜘蛛:

from scrapy.spider import BaseSpider

class XxxSpider(BaseSpider):
    name = "xxx"
    allow_domains = ["xxx.xxx.xxx"]
    start_urls = ["http://xxx.xxx.com/jobs/"]


    def parse(self, response):
        for sel in response.xpath("//div[@id='job_listings']/a"):
            title = sel.xpath('./text()').extract()
            link = sel.xpath('./@href').extract()
            print title, link

这里缺少什么?

最佳答案

问题是您使用的是旧版本的 Scrapy,其中选择器未包含在响应对象中。要验证这一点,请查看相关文档:http://doc.scrapy.org/en/0.14/topics/request-response.html

要解决您的问题,请将响应包装到选择器中,然后您可以在选择器上使用 xpath 函数:

from scrapy.selector import HtmlXPathSelector 
def parse(self, response):
    hxs = HtmlXPathSelector(response)
    for sel in hxs.select("//div[@id='job_listings']/a"):

关于python - 我收到一个 AttributeError : 'HtmlResponse' object has no attribute 'xpath' in scrapy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33407140/

相关文章:

selenium - 点(.)在selenium的xpath中是什么意思?

Python Scrapy 动态网站

python - Scrapy从表中的链接获取数据

scrapy - 监控 Airflow 中的长期任务

python - 如何在scrapy中使用spider从mysql获取数据并从web中提取数据

python - 如何在 ssh 中创建 Django super 用户?

python - 为什么 numpy View 向后?

python - 如何获取Scrapy项目中的字段顺序

python - 当Python没有足够的权限访问文件时会抛出哪种异常?

iphone - GDataXml 和命名空间