<p>您可以使用css select:</p>
<pre><code>soup.select("div.post.item")
</code></pre>
<p>或使用<a href="http://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class" rel="nofollow noreferrer">class_</a></p>
^{pr2}$
<p>文档建议*如果您想搜索匹配两个或更多CSS类的标记,您应该按照第一个示例使用CSS选择器。
两种用途的示例:</p>
<p><em>您还可以搜索class属性的确切字符串值:</em></p>
<pre><code>css_soup.find_all("p", class_="body strikeout")
# [<p class="body strikeout"></p>]
</code></pre>
<p><em>如果要搜索匹配两个或多个CSS类的标记,应该使用CSS选择器:</em></p>
<pre><code>css_soup.select("p.strikeout.body")
# [<p class="body strikeout"></p>]
</code></pre>
<p>为什么你的代码会失败为什么和上面的任何一个解决方案都会失败更多地与源代码中不存在类有关,如果在源代码中,它们都可以工作:</p>
<pre><code>In [6]: r = requests.get("https://flipboard.com/section/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9-3uscfrirj50pdtqb")
In [7]: cont = r.content
In [8]: "post item" in cont
Out[8]: False
</code></pre>
<p>如果您查看浏览器源代码并进行搜索,您也不会找到它。它是动态生成的,只有在打开开发人员控制台或firebug时才能看到。它们也只包含一些样式和一个react id,所以即使你得到了它们,也不确定你期望从中得到什么。在</p>
<p>如果您想得到您在浏览器中看到的html,您需要类似<a href="https://stackoverflow.com/questions/36070541/how-to-retrieve-the-exact-html-as-in-a-browser/36072017#36072017">selenium</a></p>