显示它从我的理解 - 你知道BTC
字符串,可以用它来基地的定位。
所以,如果这将是XPath的,你可以使用和following-sibling::text()
:使用lxml.html
//h2[. = 'BTC']/following-sibling::text()
例子:
from lxml.html import fromstring
data = """<div class="rankings-col__header__segment"><h2>BTC</h2><weak>usd </weak>10857.00</div>"""
root = fromstring(data)
print(root.xpath("//h2[. = 'BTC']/following-sibling::text()"))
打印['10857.00']
。
如果任何机会,你可以使用BeautifulSoup
,这将是:
from bs4 import BeautifulSoup
data = """<div class="rankings-col__header__segment"><h2>BTC</h2><weak>usd </weak>10857.00</div>"""
soup = BeautifulSoup(data, "html.parser")
print(soup.find("h2", string="BTC").find_next_sibling(text=True))
@KushalS好,我只是想帮助定位元素的一部分。我怀疑你有一个更大的问题 - 实际上得到所需的HTML下载所需的元素。 – alecxe
hi alec,能够从上面使用以下内容拉取html行: 'containers = page_soup.findAll(“span”,{“class”:“price-right”}) container = containers [0]#此返回HTML 打印(容器)' 当我尝试通过 '打印传递容器变量(container.find( “H2”,串= “BTC”)。find_next_sibling(文字= TRUE))' 我得到一个AttributeError:'NoneType'对象没有'find_next_sibling' – KushalS
@KushalS属性,'span'和'price-right'来自哪里。尝试使用“汤”而不是“容器”。谢谢。 – alecxe