python - xpath中如何使用變量
問題描述
在xpath中該如何使用變量,想選擇id是某個(gè)值的元素,這個(gè)值是個(gè)變量。
response.xpath(’//p[@id=val]’).extract_first()
其中val的值是’images’,xpath中使用變量的語法是什么 。
問題解答
回答1:參考文章:XPATH簡(jiǎn)明指南
XPath中變量用$somevariable語法即$符號(hào)加變量名,然后在xpath方法調(diào)用時(shí)傳參變量值。
>>> # `$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 ’回答2:
response.xpath(’//p[@id={}]’.format(val)).extract_first()
我理解xpath的參數(shù)也是個(gè)字符串嘛,你試試。
回答3:Scrapy文檔
回答4:你這個(gè)是python語句,為什么不用字符串拼接把這個(gè)表達(dá)式拼接起來呢?比如
response.xpath(’//p[@id=’ + val + ’]’).extract_first()
相關(guān)文章:
1. 自己安裝了apache2.2,但是重啟apache后出錯(cuò)了,求解!謝謝!2. 關(guān)于docker下的nginx壓力測(cè)試3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. docker-machine添加一個(gè)已有的docker主機(jī)問題5. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。6. docker - 如何修改運(yùn)行中容器的配置7. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.8. 為什么我ping不通我的docker容器呢???9. nignx - docker內(nèi)nginx 80端口被占用10. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題
