Je me débats avec magnifique. Je veux gratter les liens des concours dans la table du côté droit de [transfertmarkt] [1]
Comment je localiser jusqu'à présent: p>
div1 = soup.find('div', {'class': 'large-4 columns'}) div2 = div1.find('div', {'class': 'box'}) table = div2.find('table') table_body = table.find('tbody') contest = table_body.find_all('a')
3 Réponses :
Essayez d'utiliser la fonction Dans votre cas, vous pouvez utiliser quelque chose comme - P> SELECT CODE> dans la bibliothèque de soupe où vous pouvez utiliser Sélecteurs CSS .
a_tags = soup.select("td[class='no-border-links'] > a")
Merci pour votre réponse! Malheureusement, cela ne fonctionne pas .. J'ai déjà les titres. J'ai besoin des liens du club ou de la compétition ...
Il est préférable d'utiliser sortie sera p> sélectionner code> pour ce cas.
Merci, mais il y a des valeurs manquantes. "Deutschland" est manquant et "FC Bayern München" aussi ... ce ne sont pas des titres. Deutschland n'est que dans une HREF sous la classe "NO-BORD-LIENS" et BAYERN est dans une classe ... Comment puis-je mettre en œuvre ces exceptions?
@viktor a mis à jour ma réponse. Il perd son ordre mais cela donne ce que vous voulez.
Hmm ça ne marche toujours pas. Maintenant, je reçois environ 70 valeurs ... même Schalke est dans la liste maintenant, ce qui est uniquement sur la table du côté gauche de la page ...
Hmm. Mis à jour à nouveau. Je pense que je l'ai bien compris cette fois-ci.
Essayez ce qui suit pour obtenir le contenu souhaité: Pour obtenir le lien aussi, essayez ci-dessous: p> import re
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
URL = "https://www.transfermarkt.de/jumplist/erfolge/spieler/17259"
res = requests.get(URL,headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(res.text,"lxml")
for items in soup.select(".table-header:contains('Alle Titel') + table tr"):
if not items.find("a",string=re.compile("\w")):continue
item = items.find("a",string=re.compile("\w")).text
try:
link = urljoin(URL,items.select_one("a[href^='/']").get("href"))
except AttributeError: link = ""
print(item,link)
Merci, cela fonctionne, mais j'ai aussi besoin des liens. Dans l'ensemble dans un ordre structuré ... J'ai mis à jour mon code au sommet ... Certains joueurs comme celui-ci ici: transfertmarkt.de/jumplist/erfolge/spieler/143891 Détruisez complètement ma structure ...
Découvrez la mise à jour. Assurez-vous de créer un autre message si vous avez besoin d'aide supplémentaire @Viktor.