urllib2的使用
目录清单
- 入门程序了解爬虫采集数据步骤
- 底层操作Request对象
- 请求头设置之UserAgent用户代理
- 请求头设置
- 用户代理——UserAgent
- 自定义请求头消息
- 请求方式之GET/POST请求
- GET请求处理
- POST请求处理
- Handler处理器自定义开锁人opener
- 自定义HTTP OPENER
- 自定义PROXY OPENER
- 会话跟踪之cookie操作
- cookie基本操作
- cookie写入数据操作
- cookie读取数据操作
- 异常和错误处理
- 异常处理
- 错误处理
- HTTPS数字签名问题
1. 入门
首先,这里通过一个简单的程序认识什么是爬虫!
demo01.py
# -*- coding:utf-8 -*-
# 添加指定编码的注释,表示当前源代码支持中文操作
import urllib2
# 引入需要的模块
response = urllib2.urlopen("http://www.baidu.com")
# 通过urlopen()方法请求百度数据,获取到的响应数据保存在response中
print(response.read())
# 打印展示获取到的数据
运行程序:python2 demo01.py
上述程序总分为两部分请求和相应
构造请求:request = urllib2.Request('http://www.baidu.com')
发送请求获得响应:response =urllib2.urlopen(request)
打印响应内容: print(response.read())
---------------------------------------------------------------------------------------------------------
上述只是简单的毫无伪装的爬虫程序只是用来理解urllib2的工作原理
由于网站多多少少都有些反扒措施所以 我们的爬虫程序不能在网上裸奔!
第一个反爬措施:身份验证检查是否浏览器发送的请求。
相应爬虫措施:请求头伪造,模仿浏览器发送请求;
程序如下:
# 添加注释,源代码支持中文 # -*- coding:utf-8 -*- # 引入需要的模块 from urllib2 import Request, urlopen # 定义访问的目标url地址 url = "http://www.taobao.com"
# 定义请求头信息 headers = { "User-agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;", "info": "自定义消息", }
# 构建请求对象 request = Request(url, headers=headers) # 发送请求获得响应对象 response = urlopen(response) # 打印展示信息 print(response.read())