No.4 拉勾网职位搜索信息爬取

article/2025/7/10 23:52:35

一、简介

网址:https://www.lagou.com/jobs/list_/p-city_0?&cl=false&fromSearch=true&labelWords=&suginput=

效果:信息

使用框架:requests

难度系数:✩✩✩

二、教程

今天我们要为我们的工作写爬虫!我们今天的目标是互联网行业的招聘网——拉勾网。

1. 网站分析

这一次我们使用上一篇教程所学习得接口爬取法,接口爬取法将是我们后面用的最主要的方法。

打开浏览器调试界面,经过一番分析与查找,我们发现了职位信息所在的接口:
在这里插入图片描述

下一步查看接口链接与请求方式:

在这里插入图片描述

我们发现该请求的请求方式为 POST(不了解 post 的请进传送门),经过几次尝试发现下面提交的数据分别有以下几个含义:

  • first:请求的是否是第一页
  • pn:请求页码
  • kd:搜索关键词

2. 爬虫构造

了解请求方式之后我们就可以进行爬虫的构造了:

import requestsurl = "https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false"
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0",'Referer': 'https://www.lagou.com/jobs/list_/p-city_0?&cl=false&fromSearch=true&labelWords=&suginput='
}
data = {'first': 'true','pn': 1,'kd': 'python'
}
resp = requests.post(url=url, data=data, headers=headers)
print(resp.text)

然鹅事情出乎了我们的意料,因为返回结果是这个样样的:

{"status":false,"msg":"您操作太频繁,请稍后再访问","clientIp":"222.73.153.43","state":2402}

这么明显的提示。。。我们这只小小的爬虫已经被人发现了。。。

不行,我就不相信今天还搞不了你了!

观察请求参数,构造和浏览器访问一样的参数:

在这里插入图片描述

经过多次实验,终于发现造成这样结果的原因是我们没有加 cookie(不了解的请进传送门),但是我们又不能每一次都去手动添加 cookie 啊,这是 “人工智能” 啊!

这个时候我们的 requests 库就又站了出来,requests 库的 Session类会帮我们自动管理cookie,我们就不需要手动添加了。

爬虫 2.0:

import requests# 用于与网站建立session的链接
url1 = "https://www.lagou.com/jobs/list_/p-city_0?&cl=false&fromSearch=true&labelWords=&suginput="
# 请求数据的链接
url2 = "https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false"headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0",'Referer': 'https://www.lagou.com/jobs/list_/p-city_0?&cl=false&fromSearch=true&labelWords=&suginput='}
data = {'first': 'true','pn': 1,'kd': 'python'}session = requests.session()
session.get(url1, headers=headers)
resp = session.post(url=url2, data=data, headers=headers)
print(resp.text)

我们升级后的爬虫已经成功拿到了数据!

那么今天的教程就到此结束了,朋友们快去试一试吧!

3. 完整代码

传送门


http://chatgpt.dhexx.cn/article/kwNC6egv.shtml

相关文章

什么你还不知道招聘信息,小唐来教你——最新2021爬取拉勾网招聘信息(一)

文章目录 前言一、准备我们的库二、分析分析三、 代码四、数据展示小唐的心路历程 上一篇:没有啦! 下一篇:什么你还不知道招聘信息,小唐来教你——最新2021爬取拉勾网招聘信息(二) 前言 有是小唐的数据分析…

拉勾网的反爬介绍和解决方法(更新时间:2019/2/20)

拉勾网的反爬介绍和解决方法(更新时间:2019/2/20) 目录直达: 文章目录 拉勾网的反爬介绍和解决方法(更新时间:2019/2/20)1. 前言2. 简述3. 反爬介绍3.1、对于职位的详情页和公司的详情页的反爬…

应对反爬如何爬取拉勾网信息(非常详细)

目录 前期准备请求头Cookies问题手动提取Cookies和自动Cookies相结合自动提取Cookies实现 手动提取Cookies实现 页面分析代码实现 前期准备 我们知道百度其实就是一个爬虫,但是对方的服务器是没有对百度进行反爬的,所以为了防止对方服务器的反爬&#x…

【Python】模拟登陆并抓取拉勾网信息(selenium+phantomjs)

环境 python3.5pip install seleniumphantomjs-2.1.1pip install pyquery 代码 # -*- coding:utf-8 -*-# 防止print中文出错 import time import sys import io sys.stdout io.TextIOWrapper(sys.stdout.buffer, encodinggb18030)from pyquery import PyQuery as pq from se…

Python爬虫实战,requests模块,Python实现拉勾网求职信息数据分析与可视化

前言 利用requests爬取拉勾网求职信息数据分析与可视化,废话不多说。 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: requests模块; re模块; os模块 jieba模块; pandas模块 num…

爬虫学习之17:爬取拉勾网网招聘信息(异步加载+Cookie模拟登陆)

很多网站需要通过提交表单来进行登陆或相应的操作,可以用requests库的POST方法,通过观测表单源代码和逆向工程来填写表单获取网页信息。本代码以获取拉勾网Python相关招聘职位为例作为练习。打开拉钩网,F12进入浏览器开发者工具,可…

python成功爬取拉勾网——初识反爬(一个小白真实的爬取路程,内容有点小多)

python成功爬取拉勾网(一个小白的心里路程) 最开始想爬取拉钩是因为半年前上python实验课的时候,老师给了两个任务,一个时爬取糗百的笑话内容,另一个时爬取拉勾网的职位信息,当时因为课时紧张的缘故&#…

爬虫实例二:爬取拉勾网招聘信息

爬虫实例二:爬取拉勾网招聘信息 如果是第一次看本教程的同学,可以先从一开始: 爬虫实例一:爬取豆瓣影评 欢迎关注微信公众号:极简XksA 微信账号:xksnh888 转载请先联系微信号:zs820553471 …

python爬虫之爬取拉勾网

这次要爬取拉勾网,拉勾网的反爬做的还是很不错的啊,因为目标网站是Ajax交互的我一开始是直接分析json接口来爬取的,但是真的很麻烦,请求头一旦出点问题就给识别出来了后续我就改了一下方法用selenium来模拟浏览器去获取 招聘求职…

爬虫练习六:爬取拉勾招聘信息

1. 明确需求 1. 初学爬虫时,看着各路大佬以拉勾网为案例进行爬虫讲解,自己也这样尝试。结果因为个人水平实在太低,很快就触发反爬虫机制,甚至连个人的账号都被封禁。所以这次想要重新挑战一下,爬取拉勾展示的招聘数据。…

用接口登录拉勾网

前段时间一直忙于公司项目的测试工作导致一周多没有撸代码,所以今天通过悠悠是博客学习了一下如何让用接口登录拉勾网 下面介绍一下吧!分享下经验以及心得,,虽然我知道也没什么人会看! 首先呢要先登录拉钩网的网站&am…

拉勾网登录问题

拉钩登录问题,在参考别人的博客后,解决啦 class lagouSpider(CrawlSpider):name lagouallowed_domains [www.lagou.com]start_urls [https://www.lagou.com/]agent "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/" \"537.36 (…

selenium实例登陆拉勾网 外加手动验证验证码

selenium模拟登陆拉钩网 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import os, json, time from urllib import parse from lxml import etree from fake_…

python -- 拉勾网爬虫模拟登录

入门爬虫一段时间,最近在做一个拉勾网的数据爬虫分析,项目也快接近尾声了,于是抽个时间写一下这个项目中遇到的一些问题。 目前拉勾网的反爬虫机制还是可以的,一开始用scrapy shell 分析拉勾网,发现拉勾网要校验usera…

基于Python的拉勾网的模拟登录获取cookie

lagou_login 拉勾网的模拟登录获取cookie,为爬虫做准备, 喜欢的点个赞,谢谢 入门爬虫一段时间,最近在做一个拉勾网的数据爬虫分析,项目也快接近尾声了,于是抽个时间写一下这个项目中遇到的一些问题。 目前拉勾网的反…

selenium模拟登陆拉勾网

初学selenium,尝试了一下模拟登录拉勾网,感觉还挺好玩的 就剩下最后的验证码不会处理了。。。 思路就是在网页代码中找到对应的框的属性进行查询,然后点击、输入就进行了。 之后就会看到Chrome弹出来自动完成一系列动作,感觉很…

如何高效地学习编程语言?

学习编程语言是一种技巧:做好了,你会感受到掌握新事物之后的快感;做不好,就会接二连三的沮丧,甚至放弃。下面我将介绍一些技巧与方法,以便帮助大家高效地学习。 持续测试自己以抵抗胜任力错觉 最不济的学习…

完全零基础,到底该怎样学习编程?

学习编程的过程,大致如下: 看书、看博客、学课程或者看视频等 模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ⚠️ 思考学习别人思路后,脱离书本和博客,完全自己实现功能 自己…

学习编程先学什么?怎么学习编程?

怎么学习编程 随着IT行业的快速发展,现在越来越多的人看中IT行业的前景,很多的人选择IT行业。其中大部分人会选择了学习编程语言,那么,怎么学习编程语言、学习编程先学什么就是人们最常遇到的困难,因此,小编…

我是如何学习编程的

我是如何学编程的 前世因今世果一轮回一回眸理论基础资源选择编程没有捷径合格程度兴趣培养学习时长解决问题推荐资源 学习资源推荐 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊关注后发送关键资料,免费获取一整…