Extraire une colonne spécifique avec BeautifulSoup

J'essaie d'extraire une colonne spécifique avec beautifulsoup. Le quatrième dans ce lien : https://livecapper.ru/bet365/event.php?id=4836898&t=1x2_ht et si le texte dans cette colonne est : - il effectuera un travail supplémentaire avec la seconde boucle for. j'ai essayé ça mais ça n'a pas marché pour moi

for t in soup.find_all("td:nth-of-type(4)",text="-", limit=1):
for g in soup.find_all("h1"):
game_name.append(g.get_text()) if g.get_text() not in game_name else game_name

J'ai aussi essayé ceci pour obtenir la quatrième colonne

for t in soup.find_all("td[4]",text="-", limit=1)


Solution du problème

Vous pouvez le faire en utilisant le sélecteur css comme suit :

from bs4 import BeautifulSoup
import requests
url = 'https://livecapper.ru/bet365/event.php?id=4836898&t=1x2_ht'
req = requests.get(url)
soup = BeautifulSoup(req.content, 'html.parser')
for tr in soup.select('.tablediv table tr td:nth-child(4)'):
print(tr.text)

Production:

3.750
4.000
3.750
4.000
4.000
4.000
4.000
4.333
4.000
4.333
-
4.000
-
4.000
3.750
3.600
3.200
3.250
3.250
3.250
3.400
3.400
3.500
-
2.750
2.875
2.875
-
2.875
3.000
3.100
3.100
3.200
3.200
3.250
3.250
3.250
3.100
3.250
3.400
3.500
3.600
3.600
3.750
3.750
-

Commentaires

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"