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