我正在下载一些西班牙语动词及其变形以提高我的西班牙语水平。
在网页 (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')
答案 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
是什么的更多细节res
是 bs4.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 在文档中。