初学爬虫爬取豆瓣图书出版社的名字
爬取代码
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\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()
参考:
(1) https://www.jianshu.com/p/c318e7d4cbe4
(2)https://blog.csdn.net/baidu_19473529/article/details/54949453