Поиск встроенной информации с BeautifulSoup - PullRequest
0 голосов
/ 28 марта 2020

Я относительно новичок в веб-поиске и 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

Я получаю названия, но не информация, которая принадлежит им. Будем весьма благодарны за любые предложения о том, что я делаю неправильно!

Это исходный код раздела сайта, который я анализирую. This is the source code of the website

1 Ответ

1 голос
/ 29 марта 2020

Попробуйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...