J'essaie de gratter des informations de suivi d'un site Web d'expéditeur à l'aide de magnifiquesSoup. Cependant, le format du HTML n'est pas propice à ce que j'essaie de faire. Il y a un espacement inutile inclus dans le texte du code source qui encombre ma sortie. Idéalement, j'aimerais juste attraper la date ici, mais je vais prendre "expédié" et la date à ce stade tant que c'est sur la même ligne.
J'ai essayé d'utiliser. script python: p> html Code source: P> Remplacer ("" , "") code> &
.strip () code> sans succès. p>
Shipped
5/23/2019
3 Réponses :
Essayez: sortie: p>
Vous recherchez le générateur striped_strings code> déjà intégré à Beautiful, mais ce n'est pas une connaissance courante.
Shipped
5/23/2019
Utilisez REGEX
from bs4 import BeautifulSoup import requests import re TrackList = ["658744424"] for TrackNum in TrackList: source = requests.get('https://track.xpoweb.com/en-us/ltl-shipment/'+TrackNum+"/").text soup = BeautifulSoup(source, 'lxml') print(' '.join(re.sub(r'\s+',' ', soup.select_one('.Track-meter-itemLabel').text.strip()).split('\n')))