【问题标题】:python beautifulsoup find between tagspython beautifulsoup在标签之间查找
【发布时间】:2023-04-04 20:26:01
【问题描述】:

我正在尝试从网站获取数据。我设法获得了我想要的数据子集

sections = rows.findAll('p')
for section in sections
    print section

这给了我这个:

<p><i>Hello<strong>World</strong></i></p>
<p><strong>Some Text</strong><p>
<p></p>
<p><strong>Monday</strong><p>
<p>section1</p>
<p>section2</p>
<p>section3</p>
<p><strong>Tuesday</strong><p>
<p>section1</p>
<p>section2</p>
<p>section3</p>
<p>section4</p>
<p></p>

我想要的是这个:

Monday
section1
section2
section3
Tuesday
section1
section2
section3
section4 

如果 strong 等于我拥有的 dict,我可以获取strong 标签之间的所有 p 标签吗?或者应该怎么解决?

【问题讨论】:

  • 原始 HTML 是什么?这些&lt;p&gt; 在HTML 中的什么位置?也许它们位于一些独特的标签中,您可以使用它来过滤结果 - 即find("some tag", "attributes").find_all("p")
  • 也许切片结果rows.findAll('p')[3:-1]
  • 原来的html很乱但是所有p标签都在一个div里coderows=soup.find('div', attrs={'class': 'box-default top-border '})
  • 你不能显示这个页面的网址吗?
  • 当然。这是页面。它是瑞典语,在我的例子中我试图简化它westmanska.se/dagens-lunch

标签:
python
beautifulsoup
scrape