python3中编码如何获取网页?

python

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


1. encoding和apparent_encoding

import scrapy

url="https://www.ygdy8.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. requeststext() content() 有什么区别

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

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

 

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

通过下载源码对比

import requests

url = 'https://www.ygdy8.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编码获取网页的一些操作方法,小伙伴们学会没?当然获取网页的方法比较多,这里就不一一介绍,有机会的话小编会在后续的文章中更新一下。学习了python之后,编程应用于生活会越来越多,帮助我们简化生活的繁琐事情。

以上是 python3中编码如何获取网页? 的全部内容, 来源链接: utcz.com/z/528275.html

回到顶部