urllib随机IP及User-Agent

本文介绍了一个简单的Python爬虫实例,利用代理IP池和随机User-Agent实现网页抓取,有效避免了因频繁访问同一网站而被封禁的风险。通过随机选择不同的User-Agent和代理IP,可以模拟真实用户的访问行为。
# coding:utf-8


import urllib2,urllib,random

# 设置User-Agent列表
user_agent_list = [
    "Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/
4.0.1",
    "Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1)",
    "Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11",
    "Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11
(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11",
    "Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)",
    "Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;
SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)"
]

headers = {
    # 从列表中随机取出一个浏览器标识
    'User-Agent': random.choice(user_agent_list)
}

# 设置IP列表
ip_list = [
    "117.68.253.144:808",
    "112.114.93.50:8118",
]

proxies = {
    'http':random.choice(ip_list)
}

request = urllib2.Request('http://www.baidu.com', headers=headers)

# 创建IP代理对象
proxy_handler = urllib2.ProxyHandler(proxies)
# 根据代理对象,创建用于发送请求的opener对象
opener = urllib2.build_opener(proxy_handler)
# 再使用opener对象发出请求
res = opener.open(request)

print(res.read())


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值