我正在使用美麗的湯解析設計不佳的網頁。如何僅選擇具有類似ID的DIV
目前,我需要的是選擇網頁的評論部分,但每個評論被視爲一個DIV,每個都有一個像「IAMCOMMENT_00001」的ID,但就是這樣。沒有課(這會有很大的幫助)。
所以我不得不搜索所有以「IAMCOMMENT」開頭的DIV,但我無法弄清楚如何做到這一點。我能找到的最接近的是SoupStrainer,但無法理解如何使用它。
我該如何做到這一點?
我正在使用美麗的湯解析設計不佳的網頁。如何僅選擇具有類似ID的DIV
目前,我需要的是選擇網頁的評論部分,但每個評論被視爲一個DIV,每個都有一個像「IAMCOMMENT_00001」的ID,但就是這樣。沒有課(這會有很大的幫助)。
所以我不得不搜索所有以「IAMCOMMENT」開頭的DIV,但我無法弄清楚如何做到這一點。我能找到的最接近的是SoupStrainer,但無法理解如何使用它。
我該如何做到這一點?
如果你想分析的形式評論,首先你需要找到你的HTML的評論。要做到這一點的方法是這樣的:
import re
from bs4 import BeautifulSoup, Comment
soup = BeautifulSoup(myhtml)
comments = soup.find_all(text=lambda text: isinstance(text, Comment))
找到註釋裏面的div
S,
for comment in comments:
cmnt_soup = BeautifulSoup(comment)
divs = cmnt_soup.find_all('div', attrs={"id": re.compile(r'IAMCOMMENT_\d+')})
# do things with the divs
我會用BeautifulSoup's
內置find_all
功能:
from bs4 import BeautifulSoup
soup = BeautifulSoup(yourhtml)
soup.find_all('div', id_=re.compile('IAMCOMMENT_'))
發表您的嘗試。顯示你的代碼。 – 2014-11-07 03:11:14