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 中的其他节点的父节点,如何从子节点获取文本