美丽的汤找到所有没有找到div

时间:2021-01-21 20:43:47

标签: python python-3.x beautifulsoup

我正在下载一些西班牙语动词及其变形以提高我的西班牙语水平。

在网页 (link here) 顶部的动词下方是英文翻译。但是使用下面的代码不起作用,我不知道为什么?它返回None,为什么,我在网页上可以看到它?

URL = 'https://www.linguasorb.com/spanish/verbs/conjugation/trabajar
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
res = soup.find_all('div', class_='l1-infinitive')

1 个答案:

答案 0 :(得分:1)

这段代码没有任何问题。

import requests
from bs4 import BeautifulSoup as bs

URL = 'https://www.linguasorb.com/spanish/verbs/conjugation/trabajar'

page = requests.get(URL)
soup = bs(page.content, 'html.parser')
res = soup.find_all('div', class_='l1-infinitive')
print(res)

输出 [<div class="l1-infinitive">to work</div>] 在我的机器上。

编辑:关于 res 是什么的更多细节

resbs4.element.ResultSet 的一个实例。由于鸭子输入,您可以像列表一样操作它。

res[0]bs4.element.Tag 的一个实例。 print(res[0]) 输出一个表示标签及其内容的字符串,这是因为 Tag 类如何实现 __str__ 方法。

BeautifulSoup 为您提供了从 Tag 元素中提取字符串的各种可能性。在这种特殊情况下,res[0].text 返回字符串 "to work",我认为这正是您要查找的内容。

res[0].string 返回 bs4.element.NavigableString 的实例。 More info about them 在文档中。

相关问题