这段时间我很想去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错误相关推荐

  1. 【Python爬虫】403 Forbidden

    状态码403 Forbidden代表客户端错误,指的是服务器端有能力处理该请求,但拒绝授权访问. Python爬取数据时,有时会遇上403错误,通常的解决方法是在请求时的header中添加User-A ...

  2. python爬虫解决403禁止访问错误

    在python写爬虫的时候,html.getcode()会遇到403禁止访问的问题,这是网站对自动化爬虫的禁止,要解决这个问题,需要用到python的模块urllib2模块 urllib2模块是属于一 ...

  3. 爬虫出现403错误解决办法

    转载自https://blog.csdn.net/jsqfengbao/article/details/44594985 在python写爬虫的时候,html.getcode()会遇到403禁止访问的 ...

  4. python 爬虫 处理429错误

    http代码429表示访问过快. 服务器在温柔地提示你,可以爬,但是爬慢一些. 控制访问的速度就可以了. 有些服务器会在返回的头部中添加"Retry-After",告诉你多久之后重 ...

  5. python爬虫解析数据错误_Python网络爬虫数据解析的三种方式

    request实现数据爬取的流程: 指定url 基于request发起请求 获取响应的数据 数据解析 持久化存储 1.正则解析: 常用的正则回顾:https://www.cnblogs.com/wqz ...

  6. scrapy爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接

    ** 解决:python爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接 ** 问题: 1,网络问题. 确定是否是本机或爬虫目标网站出现网络问题 2,单位时间内请求页面频率过高 3,网站监测 ...

  7. python爬虫中遇到“\xb5”、“xa0”等字符时报错编码错误的处理方式

    写python爬虫是遇到编码错误 报错为: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' 经过多方查找发现 \xa0是ht ...

  8. python爬虫 403 Forbidden 解决方法

    python爬虫 403 Forbidden 解决方法 参考文章: (1)python爬虫 403 Forbidden 解决方法 (2)https://www.cnblogs.com/tian-sun ...

  9. 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool

    成功解决(Python爬虫requests库报错 请求异常,SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool(host= ...

最新文章

  1. linux ruby gem 安装目录,linux 安装 gem
  2. python工厂模式 django_python设计模式-工厂方法模式
  3. 快来mark! 结构体重载运算符大全(运算、比较、赋值、输入输出)
  4. 下一个排列Python解法
  5. NullPointerException int java.util.List.size()
  6. html如何取消盒子间的间隔,使用flexbox时,多行子元素之间的间距如何控制?
  7. [AH/HNOI2017]大佬
  8. 六时车主 App iOS隐私政策
  9. go tcp客户端自动重连_在Go中构建并发TCP服务器样例
  10. Java 1.1.7 String API (!!!)
  11. ContestHunter暑假欢乐赛 SRM 03
  12. Linq = MyMetal = SqlMetal Include 自定义(Linq to sql )生成
  13. ICP算法(Iterative Closest Point迭代最近点算法)
  14. H5移动端项目案例、web手机微商城实战开发
  15. (转 )Unity对Lua的编辑器拓展
  16. quartus联合仿真步骤
  17. microsoft edge怎么截长图_苹果12怎么截图截长屏 iphone 12截长图快捷键方法介绍
  18. Neverland Test 2.0
  19. task7b-TP53突变与否的TNBC病人基因表达相关性改变
  20. 建模阶段性总结(一)

热门文章

  1. 海豚php分页问题,关于php:Double Entry Accounting分页问题
  2. Android动态添加5个图片资,Android绘图实例(Bitmmap,Canvas,Pain的使用)动态的在图片上添加文字(canvas.drawText)...
  3. VMware虚拟机安装Centos7系统网络配置
  4. C#基础 ArrayList foreach 遍历示例
  5. 地图api - 批量转换坐标经纬度
  6. Sublime Text 3 3126 注册码
  7. 服务器坏了怎么维修,服务器怎么老坏,坏了也没人修???
  8. 山海经2服务器维护时间,服务器2月7日停止运营公告
  9. 链路日志中追踪traceId
  10. 【MySQL数据库】提高安全系数指南(附上步骤)