Je veux extraire des données d'un ul et ce ul est à l'intérieur div et ainsi de suite. Je l'ai fait avec LXML mais maintenant je veux l'essayer avec une belle soupe
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0"}
url = "https://linkedin.com/company/1005"
r = requests.get(url, headers=headers)
print(r.text)
soup = BeautifulSoup(r.text, "html.parser")
div = soup.find_all("div", class_="basic-info-description")
print div
Réponses:
2 pour la réponse № 1Essayer:
for ana in soup.findAll("ul"):
if ana.parent.name == "div":
#ana is the ul with a div parent
1 pour la réponse № 2
Vous pouvez simplement utiliser à nouveau find (All) sur les objets bs que vous avez trouvés, comme:
ul = soup.findAll("div", attrs={"class":"basic-info-about"}).find("ul")
L'inconvénient du code ci-dessus est qu'il génère une erreur si la première div n'est pas dans le code HTML. Mieux serait:
divs = soup.findAll(""div", attrs={"class":"basic-info-about"}")
for div in divs:
ul = div.find("ul")