Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在xpath中使用列表变量_Python_Python 3.x_Xpath_Web Scraping_Scrapy - Fatal编程技术网

Python 在xpath中使用列表变量

Python 在xpath中使用列表变量,python,python-3.x,xpath,web-scraping,scrapy,Python,Python 3.x,Xpath,Web Scraping,Scrapy,我想抓住这本关于HTML的书的封面。封面有时是一等的,有时是二等的 <div class="content"> <ul> <li> <b>Series</b> Campell </li> <li> <b>Hardcover:</b> 146

我想抓住这本关于HTML的书的封面。封面有时是一等的,有时是二等的

<div class="content">
    <ul>
        <li>
            <b>Series</b>
            Campell
        </li>
        <li>
            <b>Hardcover:</b>
            1465 pages
        </li>
    </ul>
</div>
当我专门用xpath编写
“精装本”
时,它是有效的

response.xpath("//li/b[contains(text(),'Hardcover')]/text()").extract()
然而,当我使用列表
封面[0]
的索引时,它也带来了其他东西

response.xpath('//li/b[contains(text(),cover[0])]/text()').extract()

我想迭代列表值,以便在标记之间检查其中一个值。

您需要字符串连接:

response.xpath('//li/b[contains(text(), "' + cover[0] + '")]/text()').extract()

检查xpath注入

和的副本
response.xpath('//li/b[contains(text(), "' + cover[0] + '")]/text()').extract()
xpath_string = '//li/b[contains(text(), "{}")]/text()'.format(cover[0])
response.xpath(xpath_string).extract()