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

一、查看网页是否压缩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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值