Je ne peux pas obtenir de données d'une seule étiquette. Single Tag a de nombreux attributs de données tels que le nom, le téléphone, la société et l'URL. J'ai besoin d'obtenir des données de nombreuses balises et toutes les balises similaires à celle-ci.
code HTML: p> code Python: p> sortie: p> Quelqu'un me dit la meilleure solution possible pour obtenir des données. P> Résultat attendu: P> name: Jeremy Counter
phone: (907) 519-6656
company: American Pacific Mortgage
url: jeremycounter.com
3 Réponses :
Vous pouvez utiliser sélénium pour cette tâche: sortie: p>
@Zubair Farooq je reçois tous les résultats. Lorsque vous exécutez, cela montre des erreurs? Vous configurez le navigateur correctement? collected_data n'a pas de contenu?
Basé sur votre HTML, vous pouvez essayer le code suivant.
name: Jeremy Counter company: American Pacific Mortgage Phone: phone:Â (907) 519- 6656 url: jeremycounter.com
Pas besoin de sélénium ici. Il suffit de tirer les données et de les utiliser pour le nettoyer et d'imprimer:
import requests import bs4 import pandas as pd url = "http://www.mortgagenewsdaily.com/directory/mortgage/alabama" data=requests.get(url) soup=bs4.BeautifulSoup(data.text,'html.parser') page = soup.find_all('div', class_="BusinessListingUser") results = pd.DataFrame() for each in page: content = each.find('div', class_='ListingDetails').text.split('\n') content = [ text.strip() for text in content if text.strip() != '' ] try: name = content[0] except: name = 'N/A' try: company = content[1] except: company = 'N/A' try: location = content[2] except: location = 'N/A' try: phone = content[3] except: phone = 'N/A' try: website = content[4] except: website = 'N/A' temp_df = pd.DataFrame([[name,company,location,phone,website]], columns = ['name','company','location','phone','website']) results = results.append(temp_df).reset_index(drop=True) results.to_excel('C:/file.xlsx', index=False)
Les résultats sont exacts. Je dois stocker des données dans Excel. Comment puis-je stocker toutes les données dans des variables. Si une variable est nulle pour une liste, elle stocke comme "N / A"
Probablement une manière plus élégante, mais je l'ai ajouté à la solution. Voir Edition ci-dessus
J'ai un problème similaire mais sur un site différent, pouvez-vous m'aider?