使用request爬取拉钩网信息
通过cookies信息爬取
分析header和cookies

通过subtext粘贴处理header和cookies信息

处理后,方便粘贴到代码中

爬取拉钩信息代码
import requests
class LagouSpider(object):
def __init__(self):
self.url ='https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
self.headers ={
"Accept":"application/json, text/javascript, */*; q=0.01",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"zh-CN,zh;q=0.9",
"Connection":"keep-alive",
"Content-Length":"",
"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
"Cookie":"", #根据每个人登录信息填写
"Host":"www.lagou.com",
"Origin":"https://www.lagou.com",
"Referer":"https://www.lagou.com/jobs/list_python?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput=",
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36",
"X-Anit-Forge-Code":"",
"X-Anit-Forge-Token":"None",
"X-Requested-With":"XMLHttpRequest"
}
self.offset = 0
self.data = {
"first":'true',
"pn":0, # 页数请求
"kd":'python' # 查询关键字
}
self.pos_li = []
self.total = 0
self.pageNo = 0
self.resultSize = 0
def start_request_total(self):
"""
得到拉钩网页数信息
:return:
"""
response = requests.post(url=self.url, headers=self.headers, data=self.data)
html = response.json()
# 得到拉钩工作信息总数
print(html['content']['positionResult'])
self.total = html['content']['positionResult']['totalCount']
# 得到拉钩工作信息每页展示数
self.resultSize = html['content']['positionResult']['resultSize']
# 从0开始
self.pageNo = int(self.total / self.resultSize) if self.total % self.resultSize > 0 else int(self.total / self.resultSize)-1
print(self.pageNo)
print(len(html['content']['positionResult']['result']))
def start_request(self):
"""
得到拉钩每页工作信息
:return:
"""
response = requests.post(url=self.url, headers=self.headers, data=self.data)
html = response.json()
# 得到拉钩工作信息
print(html['content']['positionResult']['result'])
self.pos_li.append(html['content']['positionResult']['result'])
def main(self):
self.start_request_total()
for i in range(self.pageNo):
self.start_request()
print(len(self.pos_li)) # 得到页数
if __name__ == '__main__':
la = LagouSpider()
la.main()
展示结果

使用request爬取拉钩网信息的更多相关文章
- Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记
1 需求分析 想要一个能爬取拉钩网职位详情页的爬虫,来获取详情页内的公司名称.职位名称.薪资待遇.学历要求.岗位需求等信息.该爬虫能够通过配置搜索职位关键字和搜索城市来爬取不同城市的不同职位详情信息, ...
- selelinum+PhantomJS 爬取拉钩网职位
使用selenium+PhantomJS爬取拉钩网职位信息,保存在csv文件至本地磁盘 拉钩网的职位页面,点击下一页,职位信息加载,但是浏览器的url的不变,说明数据不是发送get请求得到的. 我们不 ...
- 爬取拉钩网上所有的python职位
# 2.爬取拉钩网上的所有python职位. from urllib import request,parse import json,random def user_agent(page): #浏览 ...
- python爬虫(三) 用request爬取拉勾网职位信息
request.Request类 如果想要在请求的时候添加一个请求头(增加请求头的原因是,如果不加请求头,那么在我们爬取得时候,可能会被限制),那么就必须使用request.Request类来实现,比 ...
- Python 爬取拉钩网工作岗位
如果拉钩网html页面做了调整,需要重新调整代码 代码如下 #/usr/bin/env python3 #coding:utf-8 import sys import json import requ ...
- ruby 爬虫爬取拉钩网职位信息,产生词云报告
思路:1.获取拉勾网搜索到职位的页数 2.调用接口获取职位id 3.根据职位id访问页面,匹配出关键字 url访问采用unirest,由于拉钩反爬虫,短时间内频繁访问会被限制访问,所以没有采用多线程, ...
- 【实战】用request爬取拉勾网职位信息
from urllib import request import urllib import ssl import json url = 'https://www.lagou.com/jobs/po ...
- 使用nodejs爬取拉勾苏州和上海的.NET职位信息
最近开始找工作,本人苏州,面了几家都没有结果很是伤心.在拉勾上按照城市苏州关键字.NET来搜索一共才80来个职位,再用薪水一过滤,基本上没几个能投了.再加上最近苏州的房价蹭蹭的长,房贷压力也是非常大, ...
- 爬虫基本库request使用—爬取猫眼电影信息
使用request库和正则表达式爬取猫眼电影信息. 1.爬取目标 猫眼电影TOP100的电影名称,时间,评分,等信息,将结果以文件存储. 2.准备工作 安装request库. 3.代码实现 impor ...
随机推荐
- 【Django】数据迁移问题
最近发现,Django在修改models之后重新生成迁移文件(这里可以生成),再进行数据库迁移的时候老是出错,查询数据库时老是找不到表格或者字段. 尝试过重新新建项目,新建一个同名APP,然后mode ...
- win7 win10下80端口被System进程占用的解决方法
用如下方法可以解决System进程占用80端口的问题:打开RegEdit:开始-运行-输入regedit-调出注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl ...
- [剑指Offer]8-二叉树的下一个节点
链接 https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e?tpId=13&tqId=11210&tPa ...
- FortiGate设置E-mail告警
1.配置邮件服务器 2.配置告警
- ROLAP、MOLAP和HOLAP区别
对没有使用过数据仓库的人,对这三个概念确实是有点混淆不清.包括我自己本身不是做数据仓库出身,所以实际上是从实践出发,理论基础是有点匮乏的. 一.基本概念 1. OLAP OLAP(on-Line An ...
- React-router4 简单总结
官方文档读到这里,大概明白了React-router是专门为单页面设计的,,我只能说多页面格外的不方便 首先这个是基本的套路 import React from 'react' import Reac ...
- service redis start
注意:需在redis-server所在目录执行
- boost学习 内嵌类型检测 与 any 的代码练习
本文是学习 boost源码的一些练习 参考文章来自 刘未鹏 C++的罗浮宫(http://blog.csdn.net/pongba) 目录 http://blog.csdn.net/pongba/ar ...
- tensorflow nan
https://github.com/tensorflow/tensorflow/issues/3212 NaNs usually indicate something wrong with your ...
- selenium中动作链的使用
一.问题 我们有时候在使用selenium的时候,会遇到悬停后点击元素的操作,因此需要一个动作链来完成这个功能. 二.解决 从selenium的包中导入actionchains函数,利用xpath找到 ...