首页 > 解决方案 > 使用 BeautifulSoup 查找嵌入信息

问题描述

一般来说,我对网络抓取和 BeautifulSoup 比较陌生。所以,如果这是一个新手问题,请原谅我。如果有类似的文章可以回答我的问题,请将链接发给我。

简而言之,我正在尝试从网站上抓取共轭图表。这是我的代码:

import requests
from bs4 import BeautifulSoup
url = "https://leconjugueur.lefigaro.fr/conjugaison/verbe/finir.html"
page=requests.get(url) soup = BeautifulSoup(page.content, 'html.parser')
table = soup.find_all('div',attrs={"class":"conjugBloc"})
try: 
 for x in table: 
   print (x.find('p').text) 
except AttributeError: print("Attribute Error")

我希望我的结果看起来像这样:

Présent

je finis
tu finis 
il finit 
nous finissons 
vous finissez 
ils finissent

但是,我得到了:

Présent
Passé composé
Imparfait
Plus-que-parfait
Passé simple
Passé antérieur
Futur simple
Futur antérieur
Présent
Passé
Imparfait
Plus-que-parfait
Présent
Passé première forme
Passé deuxième forme
Attribute Error

我得到的是标题,但不是属于它们的信息。任何关于我做错了什么的建议将不胜感激!

这是我正在分析的网站部分的源代码。 这是网站的源代码

标签: beautifulsoup

解决方案


尝试:

table = soup.select('div.tempsBloc[id="temps0"] ~p')
targets = str(table[0]).split('<br/>')
for target in targets:
    print(BeautifulSoup(target,'lxml').text)

输出:

je finis
tu finis
il finit
nous finissons
vous finissez
ils finissent

推荐阅读