import urllib.request #发送请求,获取响应 class A(): def get_html(self): response = urllib.request.urlopen(url) html = response.read().decode('utf-8') return html #写入文件 def write_html(html): with open('book_rank.txt', 'a', encoding = 'utf-8') as br: br.write(html) #运行函数 if __name__ == '__main__': #豆瓣书评URL perpage = 0 url = 'https://www.douban.com/doulist/1264675/?start=' + str(perpage) + '&sort=seq&sub_type=' html = A.get_html(url) A.write_html(html)
本文是一个比较简单的豆瓣读书排名的第一页内容爬取。后续j继续提高,要进行多页爬取,及内容提取。
编码问题:
python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示。在实际应用中经常需要将两者进行互转
注意:字符串通过编码转换为字节码,字节码通过解码转换为字符串
str--->(encode)--->bytes,bytes--->(decode)--->str