在拉勾搜索职位时,通过谷歌F12抓取请求信息

发现请求是一个post请求,参数为:

返回的是json数据

有了上面的基础,我们就可以构造请求了

然后对获取到的响应反序列化,这样就获取到了json格式的招聘信息,就可以进行各种操作了,比如取其中的某个信息

最后循环写入excle

具体实现如下:

import requests
import json
import xlwt items = [] # 招聘信息
pn = 1
# 抓取数据
def get_content(pn):
# 全国
url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
data = {
'first':'true',
'pn':pn,
'kd':'python'
}
# url发送一个post请求,把data数据发送过去
html = requests.post(url,data).text # 获取文本
# print(type(html)) # <class 'str'>
html = json.loads(html)
print(html) for i in range(15):
item = []
# 字典嵌套,招聘职位、公司、薪资、地区、福利、提供条件、工作类型
item.append(html['content']['positionResult']['result'][i]['positionName'])
item.append(html['content']['positionResult']['result'][i]['companyFullName'])
item.append(html['content']['positionResult']['result'][i]['salary'])
item.append(html['content']['positionResult']['result'][i]['city'])
item.append(html['content']['positionResult']['result'][i]['positionAdvantage'])
item.append(html['content']['positionResult']['result'][i]['companyLabelList'])
item.append(html['content']['positionResult']['result'][i]['firstType'])
items.append(item)
return items # 创建excel表格
def excel_write(items):
newTable = 'test1.xls'
wb = xlwt.Workbook(encoding='utf-8') # 创建excel文件
ws = wb.add_sheet('test1') # 创建sheet
headData = ['招聘职位','公司','薪资','地区','福利','提供条件','工作类型']
for hd in range(7):
ws.write(0,hd,headData[hd],xlwt.easyxf('font:bold on'))
# 写数据
index = 1 # 表示行
for item in items:
for i in range(7):
# print(type(item[i]))
if i == 5:
ws.write(index, i, ','.join(item[i]))
else:
ws.write(index, i, item[i])
index += 1
wb.save(newTable) if __name__ == '__main__':
items = get_content(pn)
print(items)
excel_write(items)

  

【原创】py3+requests+json+xlwt,爬取拉勾招聘信息的更多相关文章

  1. py3+requests+json+xlwt,爬取拉勾招聘信息

    在拉勾搜索职位时,通过谷歌F12抓取请求信息 发现请求是一个post请求,参数为: 返回的是json数据 有了上面的基础,我们就可以构造请求了 然后对获取到的响应反序列化,这样就获取到了json格式的 ...

  2. 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现

    几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...

  3. 21天打造分布式爬虫-Selenium爬取拉钩职位信息(六)

    6.1.爬取第一页的职位信息 第一页职位信息 from selenium import webdriver from lxml import etree import re import time c ...

  4. ruby 爬虫爬取拉钩网职位信息,产生词云报告

    思路:1.获取拉勾网搜索到职位的页数 2.调用接口获取职位id 3.根据职位id访问页面,匹配出关键字 url访问采用unirest,由于拉钩反爬虫,短时间内频繁访问会被限制访问,所以没有采用多线程, ...

  5. 爬虫实例之使用requests和Beautifusoup爬取糗百热门用户信息

    这次主要用requests库和Beautifusoup库来实现对糗百的热门帖子的用户信息的收集,由于糗百的反爬虫不是很严格,也不需要先登录才能获取数据,所以较简单. 思路,先请求首页的热门帖子获得用户 ...

  6. selelinum+PhantomJS 爬取拉钩网职位

    使用selenium+PhantomJS爬取拉钩网职位信息,保存在csv文件至本地磁盘 拉钩网的职位页面,点击下一页,职位信息加载,但是浏览器的url的不变,说明数据不是发送get请求得到的. 我们不 ...

  7. 使用request爬取拉钩网信息

    通过cookies信息爬取 分析header和cookies 通过subtext粘贴处理header和cookies信息 处理后,方便粘贴到代码中 爬取拉钩信息代码 import requests c ...

  8. Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记

    1 需求分析 想要一个能爬取拉钩网职位详情页的爬虫,来获取详情页内的公司名称.职位名称.薪资待遇.学历要求.岗位需求等信息.该爬虫能够通过配置搜索职位关键字和搜索城市来爬取不同城市的不同职位详情信息, ...

  9. 使用nodejs爬取拉勾苏州和上海的.NET职位信息

    最近开始找工作,本人苏州,面了几家都没有结果很是伤心.在拉勾上按照城市苏州关键字.NET来搜索一共才80来个职位,再用薪水一过滤,基本上没几个能投了.再加上最近苏州的房价蹭蹭的长,房贷压力也是非常大, ...

随机推荐

  1. daterangepicker双日历插件的使用

    今天主要是由于项目的需要,做了一个daterangepicker双日历插件,做出来的效果如下: 个人感觉这个daterangepicker双日历插件很好用,并且实现起来也不是很麻烦,我是根据它的官方文 ...

  2. LESS SCSS 预编译语言

      前  言 JRedu LESS  是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展. LESS 为 Web 开发者带来了福音,它在 ...

  3. 自从硬派网倒闭后,就没有什么好看的IT硬件网站了

    RT

  4. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置

    继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...

  5. python-lambda用法

    前言: lambda函数也叫匿名函数,即,函数没有具体的名称. 一.基础 lambda语句构建的其实是一个函数对象.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果 ...

  6. 12.12 Daily Scrum

    这周末我们会集成一下反馈活跃用户的模块. 另外,今天编译的第一次测试结束,周末这两天项目的进度会比之前加快一些.   Today's Task Tomorrow's Task 丁辛 实现和菜谱相关的餐 ...

  7. [what is machine learning?]

    1.2 [what is machine learning?] 1.人:observation -->  learing  -->  skill 机器:data --> ML --& ...

  8. html5制作导航条

    (1)background-repeat:no-repeat;图片不平铺 (2)使用<ul>和<li>便签,代码简介有序.易于编排. (3)在引入外部css文件时,<li ...

  9. zookeeper安装(Linux)

    安装环境: Linux:centos6.4 Jdk:1.7以上版本 Zookeeper是java开发的可以运行在windows.linux环境.需要先安装jdk. 安装步骤: 第一步:安装jdk 第二 ...

  10. Java abstract interface与 interface的区别

    我们常常遇到abstract class与 interface的区别,今天却遇到了abstract interface,感觉interface不用abstract再修饰了啊.结论:事实也确实如此,编译 ...