可读性 IXML xpath 不起作用

Posted

技术标签:

【中文标题】可读性 IXML xpath 不起作用【英文标题】:Readeability IXML xpath does not work 【发布时间】:2017-02-15 06:17:19 【问题描述】:

当我通过可读性和scrapy阅读它们时,我正在尝试检索一些项目。我写了这段代码:

titles = response.xpath("//a[@class='media__link']").extract()
    #titles = response.xpath('//a/@href').extract()
    print ("%d links was found" %len(titles))


    count=0
    for title in titles:
      item = TutsplusItem()
      item["title"] = title
      print("Title is : %s" %title)
      yield item
      titleInner = Document(title)
      link = titleInner.xpath("//a/@href")
      link = "http://www.bbc.com" + link
      response = requests.get(link)
      doc = Document(response)

      title=doc.xpath("//title/text()")
      headline=doc.xpath("//p[@class='story-body__introduction']/text()")
      bodyText=doc.xpath("//div[class='story-body__inner']/text()")

但是,当我在此行的可读性文档上运行 xpath 时出现错误:

link = titleInner.xpath("//a/@href)

错误是:

回溯(最近一次通话最后一次): 文件“c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\utils\defer.py”,第 102 行,在 iter_errback 产生下一个(它) 文件“c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\offsite.py”,第 29 行,在 process_spider_output 结果中的 x: 文件“c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\referer.py”,第 22 行,在 return (_set_referer(r) for r in result or ()) 文件“c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\urllength.py”,第 37 行,在 return (r for r in result or () if _filter(r)) 文件“c:\python27\lib\site-packages\scrapy-1.3.1-py2.7.egg\scrapy\spidermiddlewares\depth.py”,第 58 行,在 return (r for r in result or () if _filter(r)) 解析中的文件“C:\Users\Mehdi\PycharmProjects\WebCrawler\src\Crawler.py”,第 69 行 链接 = titleInner.xpath("//a/@href") TypeError:无法序列化类型“”。

我不知道问题出在哪里?

【问题讨论】:

有什么提示吗?我正在使用 Python .7 【参考方案1】:

我正在避免可读性并使用 LXML!

【讨论】:

以上是关于可读性 IXML xpath 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 xpath 抓取网页内容不起作用

使用模板时,xpath不起作用

Selenium 中的 Instagram XPath 不起作用? (Python)

xpath 表达式在逻辑应用中不起作用

Web 服务返回的 XmlDocument 作为 XmlNode,那么 XPath 不起作用?

如果 id 和 xpath 不起作用,我如何在此代码中添加点击功能