urllib库数据挖掘【2】--自定义请求

上一篇文章中,我们通过调用urllib下的request模块写了一个简单的爬虫,用来获取百度首页的信息。实际上,一般的服务都会有反爬虫机制,如:判断用户是否是浏览器访问;判断请求来源的地址等。那么我们就可以通过伪装成浏览器或者使用代理IP来进行访问。

我们先来看一下如何伪装成浏览器。服务器一般通过User-Agent来识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器语言、浏览器插件等。我们可以通过传入不同的User-Agent来模拟不同的浏览器。查看本地浏览器的User-Agent的方法如下:

1.打开浏览器,通过F12打开开发者工具,切换到Network页面

2.任意请求一个网址,在Request Headers中就可以看到当前浏览器的User-Agent

 

上一篇中,我们编写的代码如下:

from urllib import request


url = r"http://www.baidu.com/"

# 发送请求,获取响应信息
response = request.urlopen(url).read().decode()  # 解码
print(response)

现在,我们来添加一些内容,使其能够伪装成浏览器去访问网址:

from urllib import request


url = r"http://www.baidu.com/"

# 定义User-Agent
agent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"

# 定义header
header = {
    "User-Agent": agent
}

# 自定义请求,request模块中提供了Request方法用来自定义请求
req = request.Request(url, headers=headers)

# 发送请求,获取响应信息
response = request.urlopen(req).read().decode()  # 解码
print(response)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值