关于urllib.request解析网站不能decode
原因
不能decode,无论以gbk还utf8都无法正常解码,这个原因是因为 网页被gzip压缩了,需要解压缩
解决办法
import urllib.request
import gzip
url = 'https://www.bilibili.com/bangumi/play/ep85217'
response=gzip.decompress(urllib.request.urlopen(url).read())
print(response.decode('UTF-8'))
其他
这个问题我最开始遇到是两年前,一个小白,我当时是写一个b站下载视频的软件,发现无法解析,然后各种搜索也没查到答案(当时的搜索和提炼问题的能力也差很多)后来随意加了一个技术交流群,然后人家直接告诉让我用requests库,我问他为什么urllib不行,然后他回答不上来,现在想想那些都是一些培训机构,怎么会了解这些细节问题,只会调别人写的非常完善的库罢了,稍微有一些细节技术的问题都回答不上来,学习如果浮于表面是走不远的
关于urllib.request解析网站不能decode的更多相关文章
- urllib.request.urlopen(req).read().decode解析http报文报“utf-8 codec can not decode”错处理
老猿前期执行如下代码时报"'utf-8' codec can't decode byte"错,代码及错误信息如下: >>> import urllib.reque ...
- 第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码
Python要访问一个网页并读取网页内容非常简单,在利用<第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头>的方法构建了请求http报文的请求头情况下,使 ...
- python urllib.request
一.简介 urllib.request 模块提供了访问 URL 的相关功能 二.常用函数 urllib.request.urlopen("http://httpbin.org", ...
- 爬虫之urllib.request基础使用(一)
urllib模块 urllib模块简介: urllib提供了一系列用于操作URL的功能.包含urllib.request,urllib.error,urllib.parse,urllib.robotp ...
- Python3——根据m3u8下载视频(上)之urllib.request
干活干活,区区懒癌已经阻挡不了澎湃的洪荒之力了...... 运行环境:Windows基于python3.6 ---------------------------------------------- ...
- Python做简单爬虫(urllib.request怎么抓取https以及伪装浏览器访问的方法)
一:抓取简单的页面: 用Python来做爬虫抓取网站这个功能很强大,今天试着抓取了一下百度的首页,很成功,来看一下步骤吧 首先需要准备工具: 1.python:自己比较喜欢用新的东西,所以用的是Pyt ...
- 爬虫第一篇:爬虫详解之urllib.request模块
我将urllib.request 的GET请求和POST请求两种方法做了总结 GET请求 GET请求爬取: import urllib.request import urllib.parse head ...
- Python3 内置http.client,urllib.request及三方库requests发送请求对比
如有任何学习问题,可以添加作者微信:lockingfree 更多学习资料请加QQ群: 822601020获取 HTTP,GET请求,无参 GET http://httpbin.org/get Pyth ...
- requests与urllib.request
requests很明显,在写法上与urllib.request不同,前者多一个 S.导入包时:import requestsimport urllib.requesturllib.request请求模 ...
- 对于urllib.request模块
Python 3.X版本后的urllib和urllib2 1---- 现在的Python已经出到了3.5.2 在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你impo ...
随机推荐
- 对比es6class类和构造函数
构造函数 在原来class 类这个语法糖没有出来之前 我们一般会把方法挂在prototype 上 为了防止过多的开辟内存 1 // 构造函数------------------------------ ...
- 8.X 的安装配置简化体现
文章转载自:https://mp.weixin.qq.com/s/CEYYKUub81mk59B3lqAcBA 节点无需任何安全配置,即可实现 TLS 加密通信.Https 加密通信. TLS 应用于 ...
- Elasticsearch单字段支持的最大字符数
ignore_above的作用 ES中用于设置超过设定字符后,不被索引或者存储. 当字符超过给定长度后,能否存入 keyword类型的最大支持的长度为--32766个UTF-8类型的字符. 也就是说t ...
- 制造企业有可能自行开发ERP系统吗?
当然可以啊! 生产企业对于ERP的需求是一直存在的,但市场上多为标准化的产品,与企业的个性化需求矛盾着. 有很多制造企业自行开发ERP系统啊!只是各个企业成效不同而已,毕竟不同企业的IT开发能力不同而 ...
- [题解] Topcoder 15279 SRM 761 Div 1 Level 3 SpanningSubgraphs DP,容斥
题目 考虑DP.\(f(msk,i)\) 表示集合 \(msk(一定包含0号点)\) ,选了恰好i条边的连通方案数.转移用容斥,用这个点集内部所有连边方案减去不连通的.令\(|e_{msk}|\)表示 ...
- 微信小程序分享好友,朋友圈
<template> <view> <button open-type="share">发送给好友</button> </vi ...
- useEffect 和 useLayoutEffect浅析
执行时期的区别 useEffect 回调函数的执行时期 useEffect为异步执行,执行时期为 触发状态更新(如:setState,forceUpdate) React渲染函数执行(render) ...
- SpringMvc(五) - 支付宝沙箱和关键字过滤,md5加密,SSM项目重要知识点
1.支付宝沙箱 1.1 jar包 alipay-sdk <!-- alipay-sdk --> <dependency> <groupId>com.alipay.s ...
- Go_gin权限验证
权限管理 Casbin是用于Golang项目的功能强大且高效的开源访问控制库. 1. 特征 Casbin的作用: 以经典{subject, object, action}形式或您定义的自定义形式实施策 ...
- 怎么在线预览.doc,.docx,.ofd,.pdf,.wps,.cad文件以及Office文档的在线解析方式。
前言 Office文件在线预览是目前移动化办公的一种新趋势.Office在线预览指的是Office系列的文件在线查看而不依附域客户端的存在.在浏览器或者浏览器控件中可以预览查看Word.PDF.Exc ...