距开课0天0时0分-10149462秒
仅有的幸福2017-06-28 09:26:23 0 4 978
[Python讨论组]举报回复话题 ↕
在xpath中该如何使用变量,想选择id是某个值的元素,这个值是个变量。
response.xpath('//p[@id=val]').extract_first()
其中val的值是'images',xpath中使用变量的语法是什么 。
4
0
分享
小皮 2017-06-28 09:28:234楼
参考文章:XPATH简明指南
XPath中变量用$somevariable语法即$符号加变量名,然后在xpath方法调用时传参变量值。
$somevariable
$
xpath
>>> # `$val` used in the expression, a `val` argument needs to be passed >>> response.xpath('//p[@id=$val]/a/text()', val='images').extract_first() u'Name: My image 1 '
赞 +0添加回复
typecho 2017-06-28 09:28:233楼
response.xpath('//p[@id={}]'.format(val)).extract_first()
我理解xpath的参数也是个字符串嘛,你试试。
迷茫 2017-06-28 09:28:232楼
Scrapy文档
代言 2017-06-28 09:28:231楼
你这个是python语句,为什么不用字符串拼接把这个表达式拼接起来呢?比如
python
response.xpath('//p[@id=' + val + ']').extract_first()
小皮 2017-06-28 09:28:234楼
参考文章:XPATH简明指南
XPath中变量用
$somevariable
语法即$
符号加变量名,然后在xpath
方法调用时传参变量值。 赞 +0添加回复
typecho 2017-06-28 09:28:233楼
我理解
xpath
的参数也是个字符串嘛,你试试。 赞 +0添加回复
迷茫 2017-06-28 09:28:232楼
Scrapy文档
赞 +0添加回复
代言 2017-06-28 09:28:231楼
你这个是
python
语句,为什么不用字符串拼接把这个表达式拼接起来呢?比如
赞 +0添加回复