Mein Ziel ist ein Python-Skript schreiben, die bestimmte Daten von einer Website abrufen können. speziell muss ich diese Daten extrahieren:Python Beasesoup Ich kann nicht auf CSV-Datei schreiben
<span class="street-address" itemprop="streetAddress">191, Corso Peschiera</span>
und
<div itemprop="telephone" class="tel elementPhone">0184 662271</div>
nur die Nummer und die Adresse natürlich!
während ich versuche, einfach 'div' oder 'a' oder 'href' zu extrahieren, habe ich keine Probleme, aber ich bin nicht in der Lage, meine Forschung zu verbessern.
hier ist mein Code .... Ich bin auf Datei schreiben nicht in der Lage, wenn ich nur ein Argument wie soup.find_all ('a')
from bs4 import BeautifulSoup
import requests
r = requests.get('https://www.paginegialle.it/ricerca/lidi%20balneari/Torino?')
data = r.text
soup = BeautifulSoup(data,"html.parser")
dia = soup.find_all('<div itemprop="telephone" class="tel elementPhone"></div>')
for link in soup.find_all('<div itemprop="telephone" class="tel elementPhone"></div>'):
print (dia)
documento=open("mbsprovalive.csv","w")
documento.write(dia)
documento.close()
ty Hilfe passieren BS4 !! !
Woher hast du gelesen, dass 'soup.find_all ('
')' funktionieren würde? Haben Sie sich den Rückgabewert dieses Anrufs angesehen? Haben Sie sich die Dokumentation angesehen? – TomalakBeginnen Sie mit dem Lesen der Dokumentation: https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find-all. Das erste positionale Argument für 'find_all()' ist der Tag-Name, nicht irgendein HTML-Snippet. Um basierend auf Attributen zu filtern, übergeben Sie geeignete Schlüsselwortargumente oder ein Diktat als "attrs" arg. –
@Tomalak Durch die Dokumentation konnte ich ein Skript erstellen, das alle "div" oder alle "a" finden kann, aber keinen komplexeren Ausdruck, wie ich in der Antwort angegeben habe. –