Python爬虫获取网页编码格式

Python爬虫获取网页编码格式

网页编码格式是每个网页规定的本页面文字的编码方式,其中比较流行的是ascii, gbk, utf-8, iso等。观察许多网页的编码格式都是在meta标签的content属性中定义的。基于以上特点本文提供获取编码格式的方法。
代码如下:

'''
注:本人使用的是IDLE python 3.7 64-bit,装载bs4库
'''
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re

def getCharsetList(url = None):
    #打开网页,创建BeautifulSoup对象
    newURL = urlopen(url)
    bsObj = BeautifulSoup(newURL, "html.parser")
   
    #首先查找属性中含有text/html的meta标签以缩小查找范围
    metaTagList = bsObj.findAll('meta', content = re.compile('text/html'))
  
    #定义一个存储编码格式的列表
    charsetList = []
   
    #之后从metaTagList列表中的各项查找其属性内容(用get()函数)
    for metaTag in metaTagList:
        attribution = metaTag.get('content')
        charData = str(attribution)
        position = charData.find('charset')
        charsetList.append(charData[(position + 8):].strip())
        
    return charsetList

下面是用百度作为url得到的编码方式(附上本人IDLE运行结果与代码截图):

百度作为url的代码截图
本机运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值