我正在尝试使用xpath / lxml从http://www.cellartracker.com/wine.asp?iWine=91411的文字“2005-2013”中删除文字“2005-2013”,并且我只能在这个网站上的其他页面,而不是这个。不确定我做错了/如果我从元素中复制的xpath不正确
它告诉我:print(content_divs[0].text_content().strip())
IndexError: list index out of range
这是我的代码:
import requests, lxml.html
page = requests.get('http://www.cellartracker.com/wine.asp?iWine=91411')
html = lxml.html.fromstring(page.content)
content_divs = html.xpath('//*[@id="wine_copy_inner"]/p/a[4]')
print(content_divs[0].text_content().strip())
感谢您的帮助!!!
答案 0 :(得分:0)
xpath数组是否已编入索引?
//*[@id="wine_copy_inner"]/p/a[4]
应为...[3]
。
当您登录并注销时,a
标签的数量会发生变化。可能想使用另一种方法来定位此标记。
答案 1 :(得分:0)
如果您想获得"2005 - 2013"
,可以使用以下代码
content = html.xpath('//a[@title="Source: Community"]/text()')