我使用lxml
從html頁面檢索標籤的屬性。 HTML頁面的格式如下:使用lxml從html中提取屬性
<div class="my_div">
<a href="/foobar">
<img src="my_img.png">
</a>
</div>
我用檢索<a>
標籤內的網址和同一<div>
內<img>
標籤的src
值時,Python腳本是這樣的:
from lxml import html
...
tree = html.fromstring(page.text)
for element in tree.xpath('//div[contains(@class, "my_div")]//a'):
href = element.xpath('/@href')
src = element.xpath('//img/@src')
爲什麼我不能得到字符串?
我同意不同意和** ** LXML可能不是最適合的XPath處理,但高於一切,這是一個非常容易使用,快速和強大的HTML/xml解析器。 ** BeautifulSoup **本身沒有解析器,它使用Python標準庫(它比** lxml **相對要慢),但可以配置爲使用第三方,如** lxml **,甚至他們的doc建議安裝** lxml **以提高速度。但我確實同意** BeautifulSoup **有很好的文檔記錄和易於學習。 – Anzel 2014-11-22 04:00:49
@Anzel,我同意你說的一切。的確,BeautifulSoup提到lxml是一個快速庫,不應該被忽視。只是文檔通常是示例的最佳來源,對於社區採用圖書館起着重要作用。注意事項:BeautifulSoup標記問題的數量與標記爲lxml(〜2/1)的問題的數量。 – 2014-11-22 09:01:35