python3中编码获取网页的实例方法

(编辑:jimmy 日期: 2024/12/31 浏览:2)

学了python后,之前一些我们常用的方法,也可以换一种思路用python中的知识来解决。相信操作出来后,能收获一大批小粉丝们。就像我们没学习编程之前,看到那种大神都是可望而不可即。今天我们就之前简单获取网页的这种操作用python中的编码来解决,大家可以自行体会一下两者的不同。

1. encoding和apparent_encoding

import scrapy
url="https://www.xxx.net/html/gndy/dyzz/index.html"
re=requests.get(url)
#获取响应头Content-Type的charset值,有的网站没有charset字段,就可能使用默认的 ISO-8859-1
print(re.encoding)
#apparent_encoding就是获取网站真实的编码
print(re.apparent_encoding)

2. 处理方案

直接用r.encoding = ‘xxx'

re.encoding='utf-8'

3. requests的text() 跟 content() 有什么区别

re.text返回的是处理过的Unicode型的数据,

而使用re.content返回的是bytes型的原始数据。

4. 爬虫拿到的HTML和浏览器中的源码不相同时

通过下载源码对比

import requests
url = 'https://www.xxx.net/html/gndy/dyzz/index.html'
r = requests.get(url)
r.encoding = r.apparent_encoding
html = r.text
with open('test.html','w',encoding='utf8') as f:
f.write(html)

 python3中编码获取网页的实例方法

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?