urllib是Python内置的库,requests是对urllib的再次封装。在使用上更加便捷。

下载网络图片到本地

不加headers信息可能会造成服务器拒绝下载网络图片到本地。或者是只能下载https协议的url图片,不能下载http协议的url图片。

urllib方法

  • 方法一
import urllib
#from urllib import requestdef add_header_to_retrieve():headers=('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]urllib.request.install_opener(opener)add_header_to_retrieve()
urllib.urlretrieve(img_path, save_path)
  • 方法二
import urllib
import requestsdef add_header_to_retrieve():headers=('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]urllib.request.install_opener(opener)add_header_to_retrieve()
urlretrieve(img_path, save_path)

requests方法

import requestsheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 ",
}
req = requests.get(headers=headers, url=img_path)
with open(save_path, 'wb') as f:f.write(req.content)

数据推送

数据推送时,需要加载headers头,否则会出现连接超时的错误。

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 ",
}
response = requests.post(url, files=files, data=datas, headers=headers)

参考资料
浅谈Python两大爬虫库——urllib库和requests库区别
Python使用urllib库、requests库下载图片的方法比较
如何给urllib.request.urlretrieve 加上header
【Python】Http Post请求四种请求体的Python实现

HTTP请求头headers相关推荐

  1. Python——爬虫【Requests设置请求头Headers】

    1.为什么要设置headers? 在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题. headers是解决requests请求反爬的 ...

  2. python访问网站添加请求头_Python headers请求头如何实现快速添加

    1.为什么要设置headers?J1Q免费资源网 在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题.J1Q免费资源网 headers ...

  3. html如何获取请求头变量的值。_如何使用 Python 爬取微信公众号文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章.但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦. 于是便想着能 ...

  4. 添加请求头 retrofit_Python爬虫偷懒神器 — 快速构造请求头!

    我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了 但这并不是绝对的,有些请求单单添加一个 user-age ...

  5. python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!

    点击"Python编程与实战",选择"置顶公众号" 第一时间获取 Python 技术干货! 我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ...

  6. 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头

    今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: 一般来说,我们只要添加 us ...

  7. 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面

    关于cookie >笔记 >理解 cookie相当于病人手里的病历 cookie的格式 请求头中添加cookie键值对 练习-不使用cookie访问个人中心 访问人人网个人中心 结果是得到 ...

  8. urllib的实现---请求响应and请求头处理

    在python3中 urllib库和urilib2库合并成了urllib库..其中urllib2.urlopen()变成了urllib.request.urlopen()urllib2.Request ...

  9. Python爬虫偷懒神器 — 快速构造请求头!

    我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了 但这并不是绝对的,有些请求单单添加一个 user-age ...

  10. python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!

    今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: Python资源共享群:48 ...

最新文章

  1. 微信小程序var,let,const的区别
  2. 推荐10款windows端实用软件,每一款都是精品!
  3. 12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
  4. 设备管理学习之概念篇
  5. redis关键字删除_微信公众号文章防删除
  6. TestNg的IReporter接口的使用
  7. vmware 网络连接
  8. Asp.net中文件的上传和下载(视频教程)
  9. 顺通车间扫码出入库管理系统仓库扫码软件
  10. 【开源】云开发,一个功能相对齐全的校园社区论坛类小程序源码,表白墙小程序
  11. matlab命令窗口作用是什么,matlab的命令窗口的作用是什么
  12. 图像去雨(rainy streaks removal)#引导滤波
  13. 2020年,技术圈十大“翻车”事件!
  14. FireShot在windows2000上安装的问题
  15. 互动广告助您抢量成功
  16. Python切片工具 pillow
  17. 计算机编程英语单词多少,计算机编程常用英语单词
  18. select获取选中的option(包含value和text,重点是text怎么获取)
  19. unity 震动脚本_Unity - Cinemachine实现相机抖动
  20. 【单片机仿真项目】外部中断0控制8个发光二极管闪烁

热门文章

  1. C++ ISBN 号码
  2. 想留长发没那么难,30个让头发快速生长的秘诀~
  3. 参加百度开放云编程马拉松后一点总结
  4. 面试系列--如何自我介绍
  5. 计算机考试office难还是c语言难,计算机二级考试c语言难不难
  6. html中怎样变英文月份,英语月份的巧记方法
  7. android热补丁总结
  8. 复合函数求导定义证明,复合函数求导法则的又一证明
  9. x线计算机断层摄影机房面积应不小于,X射线计算机断层摄影放射防护要求GBZ165-2012.pdf...
  10. uniapp--微信小程序--云开发生成短连接h5跳转小程序