0
votes

Comment puis-je imprimer un texte gratté Web sur une seule ligne?

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. Remplacer ("" , "") code> & .strip () code> sans succès. p>

script python: p> xxx pré>

html Code source: P>

                      Shipped

                    5/23/2019


0 commentaires

3 Réponses :


0
votes

Essayez: xxx

sortie: xxx


0 commentaires

0
votes

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


0 commentaires

0
votes

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')))


0 commentaires