作者jackhzt (巴克球)
看板Python
標題[問題] 不知道是哪邊出了問題 求救
時間Sun Feb 14 16:40:27 2016
剛學python不到1個月
嘗試用python抓點資料
print爬取出來都很正常
但是要儲存資料時卻出現了
UnicodeEncodeError: 'cp950' codec can't encode character '\u5367' in position
2763: illegal multibyte sequence
請問一下這是哪邊出了問題?
有解決的方法嗎?
以下是程式碼:
import requests
from bs4 import BeautifulSoup
import lxml
u="
https://zh.wikisource.org/wiki/%E9%87%91%E7%93%B6%E6%A2%85/%E7%AC%AC01%E5%9B%9E"
res2=requests.get(u)
soup=BeautifulSoup(res2.text,"lxml")
data=soup.select("
#mw-content-text")[0].text
titles=(soup.select("td ")[2].text[4:-8].strip())
loca="D:\\bigdata\\testR\\word\\金瓶梅\\"+titles+".txt"
with open(loca,"w") as my_file:
my_file.write(data)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.26.81.29
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1455439229.A.059.html
→ alibuda174: 你的open開檔預設為cp950編碼,無法儲存某些字元 02/14 16:43
→ alibuda174: from io import open 02/14 16:48
→ alibuda174: open(loca, 'w', encoding='utf8') 02/14 16:49
→ jackhzt: 成功了 謝謝大大 02/14 16:52
→ jackhzt: io這東西好猛 等等看一下他在看嘛 竟然這樣就可以跑了~ 02/14 16:53