您的位置:首页 > 其它

查看网页是否压缩gzip+编码方式

2017-06-12 14:20 369 查看


一、查看网页是否压缩gzip

req = urllib.request.Request(url)
html = urllib.request.urlopen(req)
print(html.info().get('Content-Encoding'))  #print(html.info())能查看更多信息



二、查看网页编码方式

在学习Python爬取网页的时候,我们经常会遇到编码方式的困扰,为了解决这个编码方式的问题,首先是要获取网页的编码方式,下面就获取网页的编码方式重点说一下三种方法。

一, 使用chardet模块(python3自己实现,亲测成功)

import chardet
import urllib.request

data = urllib.request.urlopen('http://www.baidu.com').read()
chardit = chardet.detect(data)
print (chardit['encoding'])


在工作中进行以下实现:

import urllib.request
import chardet  #用于获取网页编码方式

urls = open("f:/1.txt") #从1.txt取urls数据
for url in urls:
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
data = response.read()
chardit = chardet.detect(data) #chardit为获取网页编码相关信息的字典
rule = chardit["encoding"]
if rule:
print(rule)
else:
print("error!没有获得网页编码格式信息")


二, 使用urllib模块的getparam方法

import urllib
fopen1 = urllib.urlopen('http://www.baidu.com').info()
print fopen1.getparam('charset')# baidu


三, 利用BeautifulSoup模块方法
>from bs4 import BeautifulSoup
>import urllib2
>content=urllib2.urlopen(url)#这里url是你需要获取的网页
>soup=BeautifulSoup(content)
>print soup.original_encoding #这里的输出就是网页的编码方式
1
2
3
4
5
1
2
3
4
5

这里爬取网页内容出现的乱码问题,可以参考博客文章

这里获取网页html内容,可以参考博客文章
转载自:http://blog.csdn.net/winterto1990/article/details/47658887
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: