Любой, пожалуйста, поможет. Пожалуйста, укажите, где я неправ, когда извлеченные отзывы записаны в 3 отдельных столбца в hotelreview.csv, как я могу это исправить, чтобы записать их в 1 столбец? и как добавить для него заголовок «обзор» на основе приведенных ниже кодов.
И я также хочу добавить новые извлеченные данные (столбец «обзор») в существующий csv 'hotel_FortWorth.csv'. Я просто добавил извлеченную информацию в новый CSV, я не знаю, как объединить 2 файла вместе или какими-либо другими способами? URL может быть повторен, чтобы соответствовать отзывам. Пожалуйста!
Спасибо!
Файл 'hotel_FortWorth.csv' имеет 3 столбца, например:
Name link
1 Omni Fort Worth Hotel https://www.tripadvisor.com.au/Hotel_Review-g55857-d777199-Reviews-Omni_Fort_Worth_Hotel-Fort_Worth_Texas.html
2 Hilton Garden Hotel https://www.tripadvisor.com.au/Hotel_Review-g55857-d2533205-Reviews-Hilton_Garden_Inn_Fort_Worth_Medical_Center-Fort_Worth_Texas.html
3......
...
Я использовал URL-адреса из существующих CSV для извлечения обзоров, коды, как показано:
import requests
from unidecode import unidecode
from bs4 import BeautifulSoup
import pandas as pd
file = []
data = pd.read_csv('hotel_FortWorth.csv', header = None)
df = data[2]
for url in df[1:]:
print(url)
thepage = requests.get(url).text
soup = BeautifulSoup(thepage, "html.parser")
resultsoup = soup.find_all("p", {"class": "partial_entry"})
file.extend(resultsoup)
with open('hotelreview.csv', 'w', newline='') as fid:
for review in file:
review_list = review.get_text()
fid.write(unidecode(review_list+'\n'))
Ожидаемый результат:
name link review
1 ... ... ...
2
....