5.用Request爬取拉勾网职位信息--爬虫

本文介绍如何使用Python的urllib.request.Request类增强网络请求,包括设置User-Agent和Referer等头部信息,以及POST数据的编码和发送,通过实例演示爬取百度和拉钩网数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

request.Request类:
如果想要在请求时增加一些请求头,那么就必须使用request.Request类来实现。比如要增加一个User-Agent,示例代码如下:

from urllib import request
headers = {
           'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
req = request.Request("http://www.baidu.com/",headers=headers)
resp = request.urlopen(req)
print(resp.read())

eg.爬取 拉钩 网上的信息,拉钩网这个网站具有反爬虫机制

from urllib import request,parse
url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput='   //可以发现如果不自己构造headers将爬取不到网站的有用数据,下面来构造请求头。
headers = {
           'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
           'Referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput='
}    //发现仅仅构造请求头还是不够的,还需要增加referer

data = {
        'first': ture,
        'pn': v1,
        'kd': 'python'
}

req = request.Request(url,headers=headers,data=parse.urlencode(data).encode('utf-8'),method='POST')
resp = request.urlopen(req)
print(resp.read().decode('utf-8'))


需要再对data进行深入理解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值