python爬取准备三 urllib2模块
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,urllib/urllib2默认的User-Agent是Python-urllib/2.7,容易被检查到是爬虫,所以我们要构造一个请求对象,要用到request方法。1.查看Header信息2.设置U
千家信息网最后更新 2026年11月03日python爬取准备三 urllib2模块
urllib/urllib2默认的User-Agent是Python-urllib/2.7,容易被检查到是爬虫,所以我们要构造一个请求对象,要用到request方法。
1.查看Header信息
2.设置User-Agent模仿浏览器访问数据
Request总共三个参数,除了必须要有url参数,还有下面两个:
data(默认空):是伴随 url 提交的数据(比如要post的数据),同时 HTTP 请求将从 "GET"方式 改为 "POST"方式。
headers(默认空):是一个字典,包含了需要发送的HTTP报头的键值对
# _*_ coding:utf-8 _*_import urllib2# User-Agent是爬虫与反爬虫的第一步ua_headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'}# 通过urllib2.Request()方法构造一个请求对象request = urllib2.Request('http://www.baidu.com/',headers=ua_headers)#向指定的url地址发送请求,并返回服务器响应的类文件对象response = urllib2.urlopen(request)# 服务器返回的类文件对象支持python文件对象的操作方法# read()方法就是读取文件里的全部内容,返回字符串html = response.read()print html3.选择随机的Use-Agent
为了防止封IP,先生成一个user-agent列表,然后从中随机选择一个
# _*_ coding:utf-8 _*_import urllib2import randomurl = 'http:/www.baidu.com/'# 可以试User-Agent列表,也可以是代理列表ua_list = ["Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1","Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5","Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"]# 在User-Agent列表中随机选择一个User-Agentuser_agent = random.choice(ua_list)# 构造一个请求request = urllib2.Request(url)# add_header()方法添加/修改一个HTTP报头request.add_header('User-Agent',user_agent)#get_header()获取一个已有的HTTP报头的值,注意只能第一个字母大写,后面的要小写print request.get_header('User-agent')4.urllib和urllib2的主要区别
urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能,最显著的区别如下:
(1)urllib仅可以接受URL,不能创建,设置headers的request类实例;
(2)但是urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因)
(3)编码工作使用urllib的urlencode()函数,帮我们讲key:value这样的键值对转换成'key=value'这样的字符串,解码工作可以使用urllib的unquote()
函数
方法
对象
文件
字符
字符串
报头
数据
爬虫
选择
函数
参数
方式
服务器
utf-8
工作
服务
模块
不同
显著
三个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
云南咖啡
互联网科技工作委员会副主任毛军
科技平台互联网
河南真二互联网科技有限公司
世界互联网领先科技成果
易通互联网络科技有限公司
顺玮阁互联网科技
互联网科技股有哪些
北京华百购互联网科技有限公司
华夏互联网科技业
互联网时代的科技公司
元气玛特互联网科技公司是外包吗
梅州GM互联网络科技有限公司
云南省自由互联网科技有限公司
互联网与数字科技关系
广西科技产业互联网是什么
中国互联网公司的科技投入
三亚科技创新互联网基地
优雇互联网科技有限公司
科技服务与互联网
互联网科技公司怎么样
以房互联网科技
广州紫鲸互联网科技
国外互联网科技网站
盛创互联网科技有限公司
深圳互联网科技怎么样
欧洲十大科技互联网公司
辽宁互联网新科技
互联网科技快讯热点