|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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个表情都没有了
-
复制代码
|
|