初学爬虫编码的坑,将\xe5\x8d转化为中文

时间:2024-03-22 10:44:13

初学爬虫爬取豆瓣图书出版社的名字

爬取代码

初学爬虫编码的坑,将\\xe5\\x8d转化为中文

import urllib.request
import re
url = 'https://read.douban.com/provider/all'
pat = '<div class="cm-body"><div class="name">(.*?)</div><div class="works-num">'
data = urllib.request.urlopen(url).read()
key_word = re.compile(pat).findall(str(data))

初学爬虫编码的坑,将\\xe5\\x8d转化为中文
得到的的是 ‘\xe5\x8d\x9a\xe9\x9b\x86\xe5\xa4\xa9\xe5\x8d\xb7’的list集合。
普通的encode 和decode都无法正确得到中文信息,下面分两步

将\xe5\x8d\x9a\xe9\x9b\x86\xe5\xa4\xa9\xe5\x8d\xb7变成\xe5\x8d\x9a\xe9\x9b\x86\xe5\xa4\xa9\xe5\x8d\xb7

s = key_word[0].encode().decode('unicode_escape')

unicode_escape 能够正确解决 \ 的问题

将\xe5\x8d\x9a\xe9\x9b\x86\xe5\xa4\xa9\xe5\x8d\xb7转化为中文

s.encode('raw_unicode_escape').decode()

初学爬虫编码的坑,将\\xe5\\x8d转化为中文

参考:
(1) https://www.jianshu.com/p/c318e7d4cbe4
(2)https://blog.csdn.net/baidu_19473529/article/details/54949453