利用chardet检测网页编码

时间:2021-10-06 12:25:04

环境:Win7_x64 + python3.4.3

需要先下载chardet并进行安装,下载地址:https://pypi.python.org/packages/source/c/chardet/chardet-2.3.0.tar.gz

安装:进入解压后的目录,在命令窗口执行: Python setup.py install

写个测试的python脚本吧(DetectURLCoding.py):

#coding:utf-8
'''''python 3.x''' import sys
import urllib.request
import chardet # 将data写入文件fname
def writeFile(fname, data):
f = open(fname, "wb")
if f:
f.write(data)
f.close() def blog_detect(blogurl):
'''''检测编码方式'''
try:
fp = urllib.request.urlopen(blogurl)
except Exception as e:
print(e)
print('download exception-[%s]' %blogurl)
return 0
blog = fp.read() # python3.x read the html as html code bytearray
fp.close()
#writeFile("t.html", blog) # get encoding string
codedetect = chardet.detect(blog)['encoding']
print('%s <- %s' %(blogurl, codedetect))
return 1 if __name__=='__main__':
if len(sys.argv) == 1:
print('''''usage:
python DetectURLCoding.py http://xxx.com''')
else:
v = blog_detect(sys.argv[1])
print(v) # 何问起 hovertree.com

运行结果:

D:\profile\Desktop>PYTHON de.py http://hovertree.com/
http://hovertree.com/ <- utf-8
1 D:\profile\Desktop>PYTHON de.py http://photo.cankaoxiaoxi.com/roll10/2015/0318/709734.shtml
http://photo.cankaoxiaoxi.com/roll10/2015/0318/709734.shtml <- utf-8
1

web前端:http://www.cnblogs.com/roucheng/p/texiao.html

利用chardet检测网页编码的更多相关文章

  1. 利用wget检测网页是否正常访问

    #!/bin/bash function CheckUrl() { timeout=5 fails=0 success=0 while true do wget --timeout=5 --tries ...

  2. Python爬虫教程-03-使用 chardet 检测编码

    Spider-03-使用chardet 继续学习python爬虫,我们经常出现解码问题,因为所有的页面编码都不统一,我们使用chardet检测页面的编码,尽可能的减少编码问题的出现 网页编码问题解决 ...

  3. 用chardet判断字符编码的方法

    转自http://www.cnblogs.com/xiao*/archive/2012/03/09/2387173.html 用chardet判断字符编码的方法   1.chardet下载与安装 ...

  4. &lbrack;Python&rsqb; - 使用chardet检查网页编码格式时发现的问题

    最近在使用chardet检查网页编码格式时发现如下问题: 用urllib打开网页再检查编码格式和用urllib2打开网页检查编码格式结果不一样,所以urllib2打开可能导致问题,需要关注. 查看了相 ...

  5. 如何利用C&num;编写网页投票器程序 如何使用代理来投票 代理IP来投票

      一.前言看个图,了解下投票的过程.提交投票信息投票页 ――――――――>投票信息处理页反馈投票结果(请求页)<―――――――(响应页)一般情况下,填写投票信息,然后点提交按钮发送到响应 ...

  6. c&num;利用HttpWebRequest获取网页源代码

    c#利用HttpWebRequest获取网页源代码,搞了好几天终于解决了,直接获取网站编码进行数据读取,再也不用担心乱码了! 命名空间:Using System.Net private static ...

  7. 利用Readability解决网页正文提取问题

    分享: 利用Readability解决网页正文提取问题   做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...

  8. spider JAVA如何判断网页编码 (转载)

    原文链接 http://www.cnblogs.com/nanxin/archive/2013/03/27/2984320.html 前言 最近做一个搜索项目,需要爬取很多网站获取需要的信息.在爬取网 ...

  9. Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器

    一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立: val = 1 else: val = 2 改成三元运算 val = 1 if 条件成立 else ...

随机推荐

  1. Java控制Appium server start&sol;stop

    相信很多人都会遇到这种场景,在进行appium自动化的时候用Windows OS,不好实现后台运行,每次启动Appium server: 使用Appium GUI版手动点击 就是在cmd line 启 ...

  2. 控制Storyboard播放zz

    <Grid Width="300" Height="460"> <Grid.RowDefinitions> <RowDefinit ...

  3. 烂泥:NFS存储与VSphere配合使用

    本文首发于烂泥行天下. 公司服务器的虚拟化使用的是VM ESXi 5.0,为了更有效的利用服务器的硬盘空间.就把所有的镜像文件存放到另外一台linux服务器上,这样在使用vsphere安装虚拟机时可以 ...

  4. bzoj3594&colon; &lbrack;Scoi2014&rsqb;方伯伯的玉米田

    dp新优化姿势... 首先,当我们拔高时,一定右端点是n最优.因为如果右端点是r,相当于降低了r之后玉米的高度.显然n更优. 那么可以dp.dp[i][j]表示前i个拔高j次的LIS.dp[i][j] ...

  5. 向Window BCD 文件添加VHD开机启动项的相关笔记

    ******************************************************************************** * BCD_YE_MIN文件说明:(精 ...

  6. hibernate篇章五--Hibernage工作原理

    Hibernage工作原理: 1.配置hibernate对象关系映射文件.启动服务器 2.服务器通过实例化Configuration对象,读取hibernate.cfg.xml文件的配置内容,并根据相 ...

  7. nodejs javascript微信开发

    1.当从第三方软件需要分享到微信的时候 需要给授权处理才能获得微信信息 比如 nickname 等昵称图像等 从第三方登陆跳转到微信分享页需要 shareurl = http://open.weixi ...

  8. Clipboard 剪辑板

    ie是最早支持剪辑板相关事件(并且允许javascript接入)的浏览器(鼠标右键复制)   相关事件: beforecopy— Fires just before the copy operatio ...

  9. Unity PUN插件多人在线同步角色坐标旋转角度和动作

    用PUN插件的话,就在OnJoinedRoom()回调函数里,表示加入房间,可以实例化角色,GameObject go=PhotonNetwork.Instantiate(prefabPlayer.n ...

  10. python接口测试-认识POST请求

    上午和一个大神交流了一下,给我了一点建议:多做笔记,勤复盘:及时记录自己,最好的提升不是来自于别人,而是来自于自身.我觉得挺有道理的,分享出来.共勉 说正事. 今天把post请求的大概内容看了一下.虽 ...