scrapy用xpath获取内容后想用 '_root'得到'Selector'的HtmlElement对象,为啥行不通?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy用xpath获取内容后想用 '_root'得到'Selector'的HtmlElement对象,为啥行不通?相关的知识,希望对你有一定的参考价值。

抓取详情页文章时按书本来写但提示AttributeError: 'Selector' object has no attribute '_root'。 xpath得到正文的全部内容(图片、文字、代码块等), 为什么不能用_root得到'Selector'的htmlElement对象?小白求解

参考技术A Post_body是个selector,你要取得string,要调用其get()

Scrapy XPath语法

  • selectors = response.xpath(\'[exp]\')

返回所有符合exp的语句Selector列表

  • data = response.xpath(\'[exp]\')[0].extract()

返回Selector列表第一项的内容

  • \'/html/head\'

从根节点匹配

  • \'//td/p\'

从任意节点匹配

  • \'//td/p/../..\'

从任意节点匹配上两级

  • \'//p/a/text()\'

匹配文本内容

  • \'//p/a[@colspan="2"]\'

匹配属性符合条件

  • \'//p/a/@href\'

匹配属性

  • response.xpath(\'//p/a/@href\').re(".*cnblogs.com.*")

匹配符合正则的部分的列表

 

参考文献:http://blog.csdn.net/qzc295919009/article/details/42743077

以上是关于scrapy用xpath获取内容后想用 '_root'得到'Selector'的HtmlElement对象,为啥行不通?的主要内容,如果未能解决你的问题,请参考以下文章

Xpath开始在Scrapy上重新调整无

Xpath 使用 Scrapy 在下一个兄弟标签中获取信息

scrapy xpath选择器多级选择错误

如果它是使用 XPath 在 Scrapy 中的其他节点的父节点,如何从子节点获取文本

在 Scrapy 中使用 XPath 提取 HTML 结果失败,因为内容是动态加载的

xpath怎么抓取<div>下的所有<p>标签的文字