使用build_opener 自定义 opener,这种方法的好处是可以方便的拓展功能。

import urllib.request
import http.cookiejardef makeMyOpener(head={'Connection': 'Keep-Alive','Accept': 'text/html, application/xhtml+xml, */*','Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3','User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'}):cj = http.cookiejar.CookieJar()cj_process = urllib.request.HTTPCookieProcessor()# 定义openeropener = urllib.request.build_opener(cj_process)header = []for key,value in head.items():header.append((key,value))# opener变量add_headers为一个listopener.addheaders = headerreturn openeroper = makeMyOpener()#opener对象
uop = oper.open('http://www.baidu.com/',timeout=1000)
data = uop.read().decode('utf-8')
print(data)

以下是利用Fiddler抓到的GET报文

转载于:https://www.cnblogs.com/lkpp/p/7400042.html

使用build_opener 自定义 opener相关推荐

  1. Python:urllib2模块Handler处理器 和 自定义Opener

    Handler处理器 和 自定义Opener opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构 ...

  2. 自定义request_python3下urllib.request库之Handle处理器和自定义Opener

    python3下urllib.request库高级应用之Handle处理器和自定义Opener python3下urllib.request库高级应用之Handle处理器和自定义Opener 经过前面 ...

  3. python爬虫(四)_urllib2:handle处理器和自定义opener

    opener和handleer 我们之前一直使用的是urllib2.urlopen(url)这种形式来打开网页,它是一个特殊的opener(也就是模块帮我们建好的),opener是urllib2.Op ...

  4. 网络爬虫--7.Handler处理器 和 自定义Opener

    文章目录 一. 引言 二. 简单的自定义opener() 三. ProxyHandler处理器(代理设置) 四. Cookie 1.Cookie原理 2.Cookie应用 五. cookiejar库 ...

  5. Handler处理器 和 自定义Opener

    Handler处理器 和 自定义Opener opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构 ...

  6. 【爬虫学习笔记day11】1.9. 参考阅读:urllib:Handler处理器和自定义Opener+ProxyHandler处理器(代理设置)+cookiejar库 和 HTTPCookieProc

    文章目录 1.9. 参考阅读:urllib:Handler处理器和自定义Opener Handler处理器 和 自定义Opener 简单的自定义opener() ProxyHandler处理器(代理设 ...

  7. Python标准库之urllib,urllib2自定义Opener

    urllib2.urlopen()函数不支持验证.cookie或者其它HTTP高级功能.要支持这些功能,必须使用build_opener()函数创建自定义Opener对象. 1. build_open ...

  8. 自定义 Opener

    urlopen() 方法不支持代理.cookie 等其他的 HTTP/HTTPS 高级功能,需要自定义 opener. 如需频繁使用自定义的 opener,可将自定义的 opener 设置为默认全局 ...

  9. python中的opener_urllib2自定义opener详解

    urllib2.urlopen()函数不支持验证.cookie或者其它HTTP高级功能.要支持这些功能,必须使用build_opener()函数创建自定义Opener对象. 复制代码 代码如下: bu ...

最新文章

  1. Telerik RadGridView动态增删行及行列操作
  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组、描述、小绿锁
  3. LeetCode 第 35 场双周赛(216/2839,前7.61%)
  4. 在函数中的局部程序(像是比局部变量还局部的部分)
  5. 网盘运营太难了!百度网盘因“用户激励计划”起风波并致歉
  6. python汉语读音_【学习】python 汉语转拼音
  7. CS229-Lesson7最优间隔分类器
  8. 微型计算机的现状历史未来,微型计算机的发展历史、现状和未来
  9. 追求神乎其技的程式设计之道
  10. Chrome DevTools 中键盘快捷键的参考。
  11. CPU的后缀到底是什么意思?
  12. gc计算机术语,GC是什么意思?
  13. 【IT之路】Docker拉取镜像查看版本
  14. 从材料到芯片验证,是逃难还是人生的机遇?
  15. alpha-beta剪枝 个人理解
  16. 2019-05-15过了这么久我才写了这么点Hhhhhhhh今天也没有刷题我真的不是偷懒啊只是想赶紧弄完老师给的任务今天写的也很匆忙一会儿回去给姥姥姥爷打个电话然后买个晚餐回宿舍洗澡找妈妈视频啦啦啦了
  17. WINVNC源码分析(四)
  18. ChatGPT版微信个人号搭建流程
  19. pku 1265 Area
  20. 【HaaS Python 硬件积木】 BMP280气压传感器

热门文章

  1. android activity 混淆,关于Activity混淆
  2. L1-028. 判断素数
  3. x86汇编_移位和循环移位指令简介_笔记46
  4. 二分类Logistic回归模型
  5. Js失去焦点 (onblur)完成一个简单的案例
  6. java if return 语句_Java 语言中的 return 语句
  7. python爬虫教程(1)-爬虫的好处
  8. 现代C++教程 笔记
  9. 如何选择适合自己企业的B2B2C商城系统?
  10. JS实现数字翻牌效果