我正在尝试学习python和葡萄牙语,以为我可以用一块石头杀死两只鸟。
以下是pages之一的示例。我要下载蓝色表中的数据,因此第一个这样的表称为Presente,第二个表称为PretéritoPerfeito,依此类推。
下面是我的代码,但是我很挣扎。我的result变量确实包含了我需要的数据,但是由于div标签没有id,试图提取确切的位超出了我的范围。
有更好的方法吗?
import requests
from bs4 import BeautifulSoup
URL = 'https://conjugator.reverso.net/conjugation-portuguese-verb-ser.html'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find(id='ch_divSimple')
mychk = results.prettify()
tbl_elems = results.find_all('section', class_='wrap-verbs-listing')
答案 0 :(得分:1)
他们没有ID,但是有类。您可以这样做:
results.find_all("div", "blue-box-wrap")
blue-box-wrap
是课程。
它将返回一个长度为22的ResultSet
对象,因为有22个蓝色表。您可以选择要建立索引的索引,例如第一个索引:
blue_tables = results.find_all("div", "blue-box-wrap")
blue_tables[0]
答案 1 :(得分:1)
替换:
results = soup.find(id='ch_divSimple')
mychk = results.prettify()
tbl_elems = results.find_all('section', class_='wrap-verbs-listing')
使用方式:
results = soup.find("div", attrs={"class": 'blue-box-wrap'})
tbl_elems = results.find_all('ul', class_='wrap-verbs-listing')