如何使用 Beautifulsoup 提取文本

how to extract text using Beautifulsoup

你能告诉我如何在这种情况下使用 BeautifulSoup 提取标题文本 (Inna):

<div class="wallpapers-box-300x180-2 wallpapers-margin-2">
<div class="wallpapers-box-300x180-2-img"><a title="Inna" href="/photo.jpg" alt="Inna" width="300" height="188" /></a></div>
<div class="wallpapers-box-300x180-2-title"><a title="Inna" href="/wallpapers/inna/">Inna</a></div>

谢谢。

在这种情况下有很多方法可以定位元素,很难说哪种方法更适合你,因为我们不知道问题的范围、元素的独特性以及你是什么知道并可以依靠。

我认为最实用的方法是使用以下 CSS selector:

for elm in soup.select('div[class^="wallpapers-box"] > a[href*=wallpapers]'):
    print(elm.get_text())

这里我们检查父 div 元素的 class 是否以 wallpapers-box 开头,并找到直接的 a 子元素,其中包含 wallpapers 文本href 属性值。