0
我想知道如何將抓取的結果導出到我爬過的每個不同城市的多個csv文件。不知何故,我跑進了城牆,沒有找到合適的方法來整理。將輸出抓取到多個csv文件
這是我的代碼:
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])])
我的目標將是我得到三個sperate CSV文件巴黎,柏林和倫敦,而不是讓一個大的CSV文件中所有的結果。
你們能幫我嗎?感謝您的反饋:)
你可能要考慮,而不是登錄內容API:https://developer-tripadvisor.com/content-api/ – Riaz
感謝您的反饋意見。我很清楚這一點,但我想自己抓取它。不知何故,它的動機,而不是使用API;) –
如果你想根據內容寫入三個不同的文件,你必須有三個單獨的csv.writer,測試內容並寫入正確的文件,取決於測試結果。 – wwii