抓取网页数据违法吗(一下如何判断网页的编码:网上很多编码都不一样)

优采云 发布时间: 2021-11-11 09:18

  抓取网页数据违法吗(一下如何判断网页的编码:网上很多编码都不一样)

  在web开发中,我们经常会遇到网页的爬取和分析,可以用各种语言来完成。我喜欢用python来实现,因为python提供了很多成熟的模块,可以轻松实现网络爬虫。

  但是在爬取的过程中会遇到编码问题。今天我们就来看看如何判断一个网页的编码:

  网上很多网页都有不同的编码格式,一般是GBK、GB2312、UTF-8等。

  我们在获取到网页的数据后,首先要判断网页的编码,然后才能将抓取到的内容的编码统一转换为我们可以处理的编码,避免出现乱码问题。

  方法一:使用urllib模块的getparam方法

  1 importurllib2 #auto:

  3 fopen1 = urllib.urlopen('#39;).info() 4 打印 fopen1.getparam('charset')#baidu

  实施结果如下:

  国标

  哈哈,其实上面得到的代码都是错误的。我们可以打开网页查看源码,发现百度是gb2312。唉,这个方法确实有点作弊。检测不准确,无法检测。它占了它,所以它是非常不可靠的。这里有一个可靠的方法。

  方法二:使用chardet模块

  1 #如果你的python没有安装chardet模块,需要先安装chardet判断编码模块

  2 #作者:

  3 importchardet4 importurllib5 #先获取网页内容

  6 data1 = urllib.urlopen('#39;).read()7 #使用chardet进行内容分析

  8 chardit1 =chardet.detect(数据1)9

  10 打印 chardit1['encoding'] #baidu

  实施结果如下:

  gb2312

  这个结果是正确的,你可以自己验证一下~~

  总结:第二种方法很准确。使用python模块分析网页编码分析的内容是最准确的,而分析元头信息的方法不是很准确。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线