urllib2下载网页的三种方法
2024-09-06 01:30:45
1.最直接的方法
#-*- coding: utf-8 -*-
import urllib2
#直接请求
response = urllib2.urlopen('https://www.baidu.com')
#获取状态码,如果是200,表示获取成功
print response.getcode()
print(response.read())
2.添加data、http header
#-*- coding: utf-8 -*-
import urllib2
#创建request对象
url = 'http://www.baidu.com'
request = urllib2.Request(url)
#添加数据
request.add_data('a''') #添加http的header
request.add_header('User-Agent','Mozilla/5.0')
#发送请求获取结果
response = urllib2.urlopen(request)
print(response.read())
3.添加特殊情景的处理器
#-*- coding: utf-8 -*-
import urllib2
import cookielib
#创建cookie容器
cj = cookielib.CookieJar()
#创建一个opener
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#给urllib2安装opener
urllib2.install_opener(opener)
#使用带有cookie的urllib2访问网页
response = urllib2.urlopen('https://www.baidu.com')
print(response.read())
最新文章
- jquery 键盘回车事件
- Ant OOM的问题
- 使用的组件:ckeditor
- 开发基础框架:mybatis-3.2.8 +hibernate4.0+spring3.0+struts2.3
- ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
- C++-const_cast只能用于指针和引用,对象的const到非const可以用static_cast
- 【Cocoa】 Initializing View Instances Created in Interface Builder
- php 扩展 redis
- Android onConfigurationChanged(Configuration cfg) 无法触发问题
- asp.net mvc+EF 递归生成树结构返回json
- Android 实现左右滑动效果ViewFlipper终结【转】
- BZOJ 1191: [HNOI2006]超级英雄Hero(二分图匹配)
- Loadrunner常见错误处理方法
- vue.js之数据传递和数据分发slot
- Java关于数字工具类~持续汇总~
- Linux记录-安装LAMP和R环境
- 1. Django概述
- Swing的特性
- BZOJ.2002.Bounce 弹飞绵羊(LCT)
- Java_正确理解ThreadLocal