Ich würde gerne wissen, wie ich meine Ergebnisse aus dem Crawlen in mehrere CSV-Dateien für jede andere Stadt, die ich gecrawlt habe, exportieren. Irgendwie renne ich in die Wände, bekomme keinen richtigen Weg, um es zu klären.Crawling-Ausgabe in mehrere CSV-Dateien
, dass mein Code:
import requests
from bs4 import BeautifulSoup
import csv
user_agent = {'User-agent': 'Chrome/43.0.2357.124'}
output_file= open("TA.csv", "w", newline='')
RegionIDArray = [187147,187323,186338]
dict = {187147: 'Paris', 187323: 'Berlin', 186338: 'London'}
already_printed = set()
for reg in RegionIDArray:
for page in range(1,700,30):
r = requests.get("https://www.tripadvisor.de/Attractions-c47-g" + str(reg) + "-oa" + str(page) + ".html")
soup = BeautifulSoup(r.content)
g_data = soup.find_all("div", {"class": "element_wrap"})
for item in g_data:
header = item.find_all("div", {"class": "property_title"})
item = (header[0].text.strip())
if item not in already_printed:
already_printed.add(item)
print("POI: " + str(item) + " | " + "Location: " + str(dict[reg]))
writer = csv.writer(output_file)
csv_fields = ['POI', 'Locaton']
if g_data:
writer.writerow([str(item), str(dict[reg])])
Mein Ziel wäre, dass ich drei sperate CSV-Dateien für Paris, Berlin und London erhalten stattdessen alle Ergebnisse in einer großen CSV-Datei zu bekommen.
Könnt ihr mir helfen? Vielen Dank für Ihr Feedback :)
Sie könnten in die Gesamtwertung der Content API aussehen wollen statt: https://developer-tripadvisor.com/content-api/ – Riaz
Dank für Ihr Feedback. Ich bin mir dessen sehr bewusst, aber ich würde es gerne selbst crawlen. Irgendwie ist es motivierend, anstatt die API zu verwenden;) –
Wenn Sie in drei verschiedene Dateien basierend auf Inhalt schreiben möchten, müssen Sie drei separate '' 'csv.writer'''s haben, testen Sie den Inhalt und schreiben Sie in die korrekte Datei, abhängig von den Testergebnissen. – wwii