0
這必須是一個簡單的答案,因爲它是BS4的目的,但我很難過。使用div的內容作爲更美味湯的輸入
我有一個HTML頁面,包含一些主要div,每個包含類似的HTML。我想循環遍歷主div,然後解析每個內容。我有解析器都沒有循環沒有好轉(也就是說,如果它是隻有一個主div的頁面,我很好)。如果可能的話,我寧願不深入研究改變所有代碼。
因此,它看起來是這樣的:
<div class = main1>
<div class = price>$50</div>
<div class = title>Blah</div>
</div>
<div class = main2>
<div class = price>$150</div>
<div class = title>Blah blah</div>
</div>
<div class = main3>
<div class = price>$500</div>
<div class = title>Blah blah blah</div>
</div>
我的代碼片段:
multi_products = self.souped_text.find_all("div", class=re.compile("main"))
if len(multi_products) > 1:
products = []
for product_page in multi_products:
self.souped_text = BeautifulSoup(product_page.contents[0])
products.append(self.parse())
我想這應該工作,但後來似乎沒有經過解析 - 我的想法是,product_page。內容[0]不是我想要的Soupy,因爲我始終得到一個「NoneType」對象沒有屬性「字符串」或任何其他內容,就好像湯功能不在輸入上工作。 (product_page)= < class'bs4.element.Tag'>和type(self.souped_text)= <類的bs4.BeautifulSoup'>
使用OSX,Python 2.7版,BS4