• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

scrapy提取数据之:xpath选择器_Scrapy1.5中文文档_Scrapy 中文网

相关文章 搞java代码 2年前 (2023-03-11) 78次浏览 已收录 0个评论

又是long time no see,想我了没?上面说了第一种scrapy提取数据的方式:css选择器;虽然一招半式足以称霸江湖,但这里老夫还想再传授诸位一招:xpath提取!好好学,技多不压身。还是从几个方面说:一、属性提取;二、内容提取;三、标签内包含标签又包含标签的最外层标签里的所有内容提取;会了这些基本也就会了,反正scrapy

用到的就这么几个知识,少之又少,不要想着除了这些还有神马冰上之下,绝对木有,请放心,如果真的有,我会再末尾给诸君写一些例子,依葫芦画瓢就行,那接下来就开始装13;

一、scrapy xpath 属性提取
这里先给大家列出xpath的选择器类型,如下表:XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:

表达式 描述
nodename 选取此节点的所有子节点。
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点。
.. 选取当前节点的父节点。
@ 选取属性。

上面神马意思或许你还不清楚,没关系,1+1为神马等于2我们也无法证明,会用即可;可以看到上面选取属性用的是:@符号,那我们还是来试试提取最常见的属性:href、src,首先我们试着来提取href,还是用:http://lab.scrapy.cn开刀,就提取首页分页的href,如下图:
scrapy xpath选择器
调试的话我们还是在命令行使用下面命令:

scrapy shell lab.scrapyd.cn

这样的话就能成功打开lab.scrapyd.cn这个页面,那我们要如何使用xpath表达式呢?用到了这么一个函数:response.xpath(“表达式”),提取属性的话既然使用:@,那我们要提取href就是:@href,试一下:

In [1]: response.xpath("@href")Out[1]: []

可以看到神马都木有,why?因为我们木有限定从哪里提取,一般我们都需要加个://,再来试试

In [2]: response.xpath("//@href")Out[2]:[<Selector xpath='//@href' data='//cdnjscn.b0.upaiyun.com/libs/normalize/'>, <Selector xpath='//@href' data='http://lab.scrapyd.cn/usr/themes/default'>, …… <Selector xpath='//@href' data='http://lab.scrapyd.cn/tag/王

标签:
来源: http://www.scrapyd.cn/doc/186.html


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:scrapy提取数据之:xpath选择器_Scrapy1.5中文文档_Scrapy 中文网
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址