三种方法实现网页下载-(慕课网学习笔记)
2016-05-12 12:07
549 查看
网页下载器
网页下载器是将URL对应的网页下载到本地的工具Python网页下载器:
urllib2 : Python官方基础模块requests : 第三方插件,功能更强大
三种下载网页的方法
最简洁最传统:urllib2.urlopen(url)
需向服务器提供data,http header等信息:
request = urllib2.Request(url)
request.add_header("user-agent","Mozilla/5.0")
添加特殊情景的处理器
eg.
HTTPCookieProcessor 用户登录才能访问
ProxyHandler 需要代理才能访问
HTTPSHandler 协议用HTTPS加密访问的网站
HTTPRedirectHandle 相互自动跳转
以cookie为例:
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
*****************源码
import urllib2,cookielib url = "http://www.baidu.com" print "第一种方法" # 直接请求 response1 = urllib2.urlopen(url) # 获取状态码,如果是200表示获取成功 print response1.getcode() # 读取内容 print len(response1.read()) print "第二种方法" # 创建request对象 request = urllib2.Request(url) # 模拟浏览器访问 request.add_header("user-agent","Mozilla/5.0") response2 = urllib2.urlopen(url) print response2.getcode() print len(response2.read()) print "第三种方法" # 创建cookie容器 cookie = cookielib.CookieJar() # 创建一个opener opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) # 给urllib2安装opener urllib2.install_opener(opener) response3 = urllib2.urlopen(url) print response3.getcode() print response3.read()
相关文章推荐
- MFC对话框背景图片的设置
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- lua中的全局函数
- NJUST5167 Fibonacci
- F5 负载均衡
- js学习笔记4----数据类型
- [PHP]加密解密函数
- SQL多表连接查询(详细实例)
- hdu2149——Public Sale(巴什博弈)
- Myeclipse2014 创建WebService 服务端简单示例
- 【转载】怎样把Oracle的数据导入到SQLServer2005中
- JavaScript 函数
- C语言单链表和双链表的创建和输出
- Properties文件的读取。
- Lua代码编写注意点
- 以太网基础知识0(UDP和TCP有什么区别)
- B. Factory Repairs--cf627B(线段树)
- BeautifulSoup简述
- phpQuery—基于jQuery的PHP实现
- SpringMVC实现angularjs图片上传