python爬虫遇到403错误
这段时间我很想去p站爬一爬,之前有试过,但都失败了,有一次用phantomJS尝试,结果卡死在登录页面,太复杂了。有一次卡死在编码上,一直无法获取到页面。这次是卡死在403上,我获取了图片的链接,正要下载时弹出403错误,图片在浏览器上也打不开,我还以为是网站把我的ip封掉了,就放弃了,后来听一位大神说,有的时候需要向网页发送一些请求头吃才能下载东西(我是第一次听说urllib.request.urltrieve也能添加请求头)真是长见识了。经过自己的摸索,发现在p站下载高清大图需要给服务器发送一个”Referer”参数,用来告诉服务器你是从哪个网址进入图片链接的。而且p站的图片页没有单独的json文件加载,它的json数据全存在html文件里,真是见了鬼(我还以为那段代码是乱码)。p站还是牛逼啊,我大概花了两天时间才搞懂这些。
代码:
import urllib.request import ssl ssl._create_default_https_context = ssl._create_unverified_context url = "https://i.pximg.net/img-original/img/2016/12/25/05/10/36/60541651_p0.jpg" opener = urllib.request.build_opener() opener.addheaders=[('Referer', "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=60541651")] urllib.request.install_opener(opener) urllib.request.urlretrieve(url,"E://miku.jpg")
python爬虫遇到403错误相关推荐
- 【Python爬虫】403 Forbidden
状态码403 Forbidden代表客户端错误,指的是服务器端有能力处理该请求,但拒绝授权访问. Python爬取数据时,有时会遇上403错误,通常的解决方法是在请求时的header中添加User-A ...
- python爬虫解决403禁止访问错误
在python写爬虫的时候,html.getcode()会遇到403禁止访问的问题,这是网站对自动化爬虫的禁止,要解决这个问题,需要用到python的模块urllib2模块 urllib2模块是属于一 ...
- 爬虫出现403错误解决办法
转载自https://blog.csdn.net/jsqfengbao/article/details/44594985 在python写爬虫的时候,html.getcode()会遇到403禁止访问的 ...
- python 爬虫 处理429错误
http代码429表示访问过快. 服务器在温柔地提示你,可以爬,但是爬慢一些. 控制访问的速度就可以了. 有些服务器会在返回的头部中添加"Retry-After",告诉你多久之后重 ...
- python爬虫解析数据错误_Python网络爬虫数据解析的三种方式
request实现数据爬取的流程: 指定url 基于request发起请求 获取响应的数据 数据解析 持久化存储 1.正则解析: 常用的正则回顾:https://www.cnblogs.com/wqz ...
- scrapy爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接
** 解决:python爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接 ** 问题: 1,网络问题. 确定是否是本机或爬虫目标网站出现网络问题 2,单位时间内请求页面频率过高 3,网站监测 ...
- python爬虫中遇到“\xb5”、“xa0”等字符时报错编码错误的处理方式
写python爬虫是遇到编码错误 报错为: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' 经过多方查找发现 \xa0是ht ...
- python爬虫 403 Forbidden 解决方法
python爬虫 403 Forbidden 解决方法 参考文章: (1)python爬虫 403 Forbidden 解决方法 (2)https://www.cnblogs.com/tian-sun ...
- 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool
成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...
最新文章
- linux ruby gem 安装目录,linux 安装 gem
- python工厂模式 django_python设计模式-工厂方法模式
- 快来mark! 结构体重载运算符大全(运算、比较、赋值、输入输出)
- 下一个排列Python解法
- NullPointerException int java.util.List.size()
- html如何取消盒子间的间隔,使用flexbox时,多行子元素之间的间距如何控制?
- [AH/HNOI2017]大佬
- 六时车主 App iOS隐私政策
- go tcp客户端自动重连_在Go中构建并发TCP服务器样例
- Java 1.1.7 String API (!!!)
- ContestHunter暑假欢乐赛 SRM 03
- Linq = MyMetal = SqlMetal Include 自定义(Linq to sql )生成
- ICP算法(Iterative Closest Point迭代最近点算法)
- H5移动端项目案例、web手机微商城实战开发
- (转 )Unity对Lua的编辑器拓展
- quartus联合仿真步骤
- microsoft edge怎么截长图_苹果12怎么截图截长屏 iphone 12截长图快捷键方法介绍
- Neverland Test 2.0
- task7b-TP53突变与否的TNBC病人基因表达相关性改变
- 建模阶段性总结(一)
热门文章
- 海豚php分页问题,关于php:Double Entry Accounting分页问题
- Android动态添加5个图片资,Android绘图实例(Bitmmap,Canvas,Pain的使用)动态的在图片上添加文字(canvas.drawText)...
- VMware虚拟机安装Centos7系统网络配置
- C#基础 ArrayList foreach 遍历示例
- 地图api - 批量转换坐标经纬度
- Sublime Text 3 3126 注册码
- 服务器坏了怎么维修,服务器怎么老坏,坏了也没人修???
- 山海经2服务器维护时间,服务器2月7日停止运营公告
- 链路日志中追踪traceId
- 【MySQL数据库】提高安全系数指南(附上步骤)