顯示它從我的理解 - 你知道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