python爬虫-模拟浏览器

本文介绍了一种使用Python的urllib库进行网页抓取的方法。通过设置User-Agent来模拟浏览器行为并避免被网站封禁IP。代码示例展示了如何构造请求头、发起HTTP请求以及读取响应数据。
import urllib.request
import  random

url="http://www.badu.com"
'''
#设置一个较完整的请求头
headers={
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
   " Content-Type":"text/html;charset=utf-8",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
}
#设置一个请求体
req=urllib.request.Request(url,headers=headers)
#发起请求
response=urllib.request.urlopen(req)
data=response.read().decode("utf-8")
print(data)
'''
#多弄几个UA就可以防止封ip
agentsList=[
    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11"
]
#随机拿取一个AG
agentStr=random.choice(agentsList)
req=urllib.request.Request(url)
#用add_header直接向请求体里添加了User-Agent
req.add_header("User-Agent",agentStr)
response=urllib.request.urlopen(req)
print(response.read().decode("utf-8"))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值