0
votes

Comment obtenir de nombreuses données d'attributs d'une seule étiquette?

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> xxx pré>

code Python: p> xxx pré>

sortie: p> xxx

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


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser sélénium pour cette tâche: xxx

sortie: xxx


1 commentaires

@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?



0
votes

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


0 commentaires

1
votes

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)


3 commentaires

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?