马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 暗夜之隐 于 2018-10-5 17:44 编辑
写了一个淘宝评价爬虫 ,在爬取的时候出现不能解码字符问题。
import urllib.request
import re
def urlopen(url):
req = urllib.request.Request(url)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")
html = urllib.request.urlopen(req)
html = html.read()
return html
def cont(url):
html = urlopen(url)
htm = html.decode('utf-8')
aa = re.findall(r'(....年..月..日 ..:..)',htm)
cc = re.findall(r'(.\*\*\*.)',htm)
content = re.findall(r'content":".{0,300}","rateId',htm)
img =re.findall(r'thumbnail":"//img.alicdn.com/imgextra/.././.+?jpg","url',htm)
ff=(len(cc))
name_time =[]
for i in range(ff):
time = aa[i]
name = cc[i]
con = content[i]
timename =aa[i]+'评价内容; '+cc[i]
print(timename)
print(con+"\n")
for i in range(20):
url = 'https://rate.taobao.com/feedRateList.htm?auctionNumId=531074523433&userNumId=389728664¤tPageNum={}'.format(i)
print(i)
cont(url)
抓取到第6页的时候遇到有个评价里面有2个表情 所以出错了 前几天本来也遇到这样的问题 在网上找到一个代码加上可以了,但现在忘记了。也不知道在那里找的了, 大家学的时候要写博客记录啊 !!!
UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 39-39: Non-BMP character not supported in Tk
解决了>>> aa = '\U0001f60a\adwkdkdkkdk'
# 这里“\U0001f60a” 这是表情的代码 带这个\
>>> import re
>>> cc = re.compile(r'\U0001f60a')
#cc 就是需要替换的代码 就是把不需要的先标记出来
>>> ff = re.sub(cc,'',aa)
#cc 是不要的‘’ 就是换成空白 aa 就是需要换的文本内容
>>> ff
'\x07dwkdkdkkdk'
#最后输出只有这个了 前2个表情都没有了
|