J'essaie d'obtenir le nom d'un modèle de voiture tel qu'il apparaît sur le site Web, mais pour une raison quelconque (après avoir essayé tous les éléments suivants), cela ne semble pas fonctionner.Comment supprimer du texte supplémentaire à droite d'une chaîne?
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.carsales.com.au/cars/results?offset=12"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
model_name = soup.find_all('a', attrs={'data-webm-clickvalue':'sv-view-title'})
final_model_name = model_name[1]
clean_model_name = final_model_name.text
clean_model_name = clean_model_name.replace("\r", "")
clean_model_name = clean_model_name.replace("\n", "")
clean_model_name = clean_model_name.strip()
clean_model_name = clean_model_name.rstrip()
print(clean_model_name)
J'ai également créé une variable qui contient toute la phrase que je veux supprimer (qui fonctionne) qui est ensuite analysé dans la fonction de la bande, mais l'élément MY14 de celui-ci change en fonction de l'année de la voiture. Créer une variable pour chaque année ne semble pas très efficace.
Certains indices renvoient des résultats propres, cependant, d'autres retournent les suivantes (faites défiler à travers):
2014 Holden Cruze SRi Z Series JH Series II Auto MY14 Manufacturer Marketing Year (MY) The manufacturer's marketing year of this model.
Je ne ai pas besoin des détails sur le modèle de voiture - après la recherche, strip()
devrait supprimer l'espace blanc rstrip()
devrait tout enlever à droite (mais dans ce cas il ne le fait pas)
J'ai réussi à créer une boucle for qui boucle à travers chacune des voitures sur ce page, mais certaines lignes dans le DataFrame sont étendues en raison du texte indésirable supplémentaire.
'.rstrip()' et '.strip()' ne supprime que les espaces (caractères non imprimables), ils ne suppriment pas le texte. –
Merci, Burhan et excuses pour le sujet. Appréciez l'amendement. Pouvez-vous supprimer le texte après certains caractères - IE: pouvons-nous faire cela dans ma situation? – AdrianC
Oui, vous devez regarder dans les expressions régulières pour cela - mais plus important encore, vous devez comprendre ce qui est spécial à propos de cette liste spécifique qui provoque votre scrape ne fonctionne pas. S'il ne s'agit que d'une erreur du site Web d'origine, alors vous devez trouver un moyen de détecter ce cas spécifique et d'écrire du code pour y remédier - ou si c'est parce que votre analyse n'est pas assez robuste, vous devez traiter avec ça. –