我有一个简单的项目,从旅游网站抓取评论并将其存储在excel文件中.评论可以是西班牙语,日语或任何其他语言,评论有时也包含特殊符号,如"❤❤".
我需要存储所有数据(如果无法写入,可以排除特殊符号).
我能够抓取我想要的数据并将其打印在控制台中(如日文文本),但问题是将其存储在csv文件中,它显示错误消息,如下所示
我尝试使用utf-8编码打开文件(如下面的评论中所述),但随后它将数据保存在一些没有意义的奇怪符号中....并且无法找到问题的答案.有什么建议.
我使用的是python 3.5.3
我的python代码:
from selenium import webdriver
from bs4 import BeautifulSoup
import time
import re
file = "TajMahalSpanish.csv"
f = open(file, "w")
headers = "rating, title, review\n"
f.write(headers)
pages = 119
pageNumber = 2
option = webdriver.ChromeOptions()
option.add_argument("--incognito")
browser = webdriver.Chrome(executable_path='C:\Program Files\JetBrains\PyCharm Community Edition 2017.1.5\chrome webdriver\chromedriver', chrome_options=option)
browser.get("https://www.tripadvisor.in/Attraction_Review-g297683-d317329-Reviews-Taj_Mahal-Agra_Agra_District_Uttar_Pradesh.html")
time.sleep(10)
browser.find_element_by_xpath('//*[@id="taplc_location_review_filter_controls_0_form"]/div[4]/ul/li[5]/a').click()
time.sleep(5)
browser.find_element_by_xpath('//*[@id="BODY_BLOCK_JQUERY_REFLOW"]/span/div[1]/div/form/ul/li[2]/label').click()
time.sleep(5)
while (pages):
html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
containers = soup.find_all("div",{"class":"innerBubble"})
showMore = soup.find("span", {"onclick": "widgetEvCall('handlers.clickExpand',event,this);"})
if showMore:
browser.find_element_by_xpath("//span[@onclick=\"widgetEvCall('handlers.clickExpand',event,this);\"]").click()
time.sleep(3)
html = …Run Code Online (Sandbox Code Playgroud)