使用python爬去拉钩数据
第一步:下载所需模块
requests 进入cmd命令 :pip install requests 回车 联网自动下载
xlwt 进入cmd命令 :pip install xlwt 回车 联网自动下载
第二步:找到你要爬去的网页(我爬去的是拉钩网)
选择浏览器 (火狐、谷歌)我使用的谷歌抓包
编码工具 (idea)( pyCharm)我使用的idea
import requests #导入下载过的requesta
import xlwt #导入下载过的xlwt
#用谷歌找到对应的网页,按f12进入检查
   #NetWork,XHR里面有一个headers里面找
headers={
#第一个电脑和服务器信息,
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',#电脑和服务器信息
#第二个是你从哪里进入的拉钩网,没有这个以为是机器人访问。
'Referer':'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
#第三个为了辨别身份,有的网站需要,有的不需要
'Cookie':'user_trace_token=20170921093258-cc8e4c13-9e6c-11e7-9d07-525400f775ce; LGUID=20170921093258-cc8e52b6-9e6c-11e7-9d07-525400f775ce; index_location_city=%E5%85%A8%E5%9B%BD; JSESSIONID=ABAAABAACEBACDGD4C15CDA891A7242B76AA4F9B7450B8B; _gat=1; PRE_UTM=; PRE_HOST=www.sogou.com; PRE_SITE=https%3A%2F%2Fwww.sogou.com%2Flink%3Furl%3DhedJjaC291NlQquFD-D9iKfCABISWiMgDLW1Nx6fG3psqHL_zYlG_a3mlRzfPLR2; PRE_LAND=https%3A%2F%2Fwww.lagou.com%2Fgongsi%2Fj75915.html; TG-TRACK-CODE=index_search; _gid=GA1.2.405703854.1505957562; _ga=GA1.2.1930895945.1505957562; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1505957579,1505957596,1505957630,1505969456; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1505969469; LGSID=20170921125112-7dcd03f6-9e88-11e7-9d2f-525400f775ce; LGRID=20170921125125-85aaed04-9e88-11e7-91fb-5254005c3644; SEARCH_ID=746090bf111a497aa55f7f1b8dabffd2'#来路,你是从哪个页面点入的
}
#data对应的是分页pn为1就相当于第一页
def getJobList(page):
data={
'first':'false',
'pn': page,
'kd': 'python'
}
#发起一个post请求,指的当前网页的链接
res=requests.post('https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult='
'false&isSchoolJob=0',data=data,headers=headers)
result=res.json()#将里面的数据以json格式展示类似于(key,value)
jobs=result['content']['positionResult']['result'] #每个对应查找
return jobs#结果返回 excelTabel= xlwt.Workbook()#创建excel对象
sheet1=excelTabel.add_sheet('lagou',cell_overwrite_ok=True)
sheet1.write(0,0,'公司名')#公司名
sheet1.write(0,1,'城市')#城市
sheet1.write(0,2,'地区')#地区
sheet1.write(0,3,'全职/简直')#全职/简直
sheet1.write(0,4,'薪资')#薪资
sheet1.write(0,5,'职位')#职位
sheet1.write(0,6,'工作年限')#工作年限
sheet1.write(0,7,'公司规模')#公司规模
sheet1.write(0,8,'学历')#学历
n=1
for page in range(1,31):#循环输出每一页
for job in getJobList(page=page):
#下面的if判断可以加也可以不加
if '1-3'in job['workYear'] and '后端开发'in job['secondType'] and '本科'in job['education']: # and '朝阳区'in job['district']
sheet1.write(n,0,job['companyFullName'])#公司名
sheet1.write(n,1,job['city'])#城市
sheet1.write(n,2,job['district'])#地区
sheet1.write(n,3,job['jobNature'])#全职/简直
sheet1.write(n,4,job['salary'])#薪资
sheet1.write(n,5,job['secondType'])#职位
sheet1.write(n,6,job['workYear'])#工作年限
sheet1.write(n,7,job['companySize'])#公司规模
sheet1.write(n,8,job['education'])#学历
n+=1
#打印到wps的表格里面
excelTabel.save('lagou.xlsx')

其实准备好图片的单不知道怎么插入到上面,

但是复制上面代码可以爬取出数据然后再慢慢研究(headers里面的根据个人的不同来更换)

python3 :

    输入和输出

        str():函数返回一个用户易读的表达形式

            str.format()替换输出语句中的{},跟其他字符串拼接

        repr():产生一个解析器易读的表达形式

            repr()函数可以转义字符串中的特殊字符

            repr()的参数可以是python的任何对象

    读和写文件

        open(filename,mode)将会返回一个file对象

            filename:变量是一个包含了你要访问的文件名得字符串

            mode:决定了打开文件的模式,默认的是只读

        f=open('c\foo.txt',w):

        str=f.read()

        print(str)

        f.close():关闭打开的文件

        f.readline():会从文件中读取单独的一行

        f.readlines():返回文件中包含的所有行

        f.write('aaaa'):将aaaa写入到文件中,然后返回写入的文件字符数

        f.tell()返回当前对象所处的位置

        f.seek():改变文件当前位置

        

python3爬取拉钩招聘数据的更多相关文章

  1. Python 爬取 拉钩

    ... from urllib import request from urllib import parse from urllib.error import URLError import jso ...

  2. 利用Crawlspider爬取腾讯招聘数据(全站,深度)

    需求: 使用crawlSpider(全站)进行数据爬取 - 首页: 岗位名称,岗位类别 - 详情页:岗位职责 - 持久化存储 代码: 爬虫文件: from scrapy.linkextractors ...

  3. Python爬虫入门——使用requests爬取python岗位招聘数据

    爬虫目的 使用requests库和BeautifulSoup4库来爬取拉勾网Python相关岗位数据 爬虫工具 使用Requests库发送http请求,然后用BeautifulSoup库解析HTML文 ...

  4. CrawlSpider爬取拉钩

    CrawlSpider继承Spider,提供了强大的爬取规则(Rule)供使用 填充custom_settings,浏览器中的请求头 from datetime import datetime imp ...

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

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

  6. python3爬取中国药学科学数据

    今天我表弟说帮忙爬一下中国药学科学数据,导出json格式给他.一共18万条数据. 看了一下网站http://pharm.ncmi.cn/dataContent/admin/index.jsp?subm ...

  7. python3 requests_html 爬取智联招聘数据(简易版)

    PS重点:我回来了-----我回来了-----我回来了 1. 基础需要: python3 基础 html5 CS3 基础 2.库的选择: 原始库  urllib2  (这个库早些年的用过,后来淡忘了) ...

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

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

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

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

随机推荐

  1. mvc布局(一)

    negut添加Optimization @System.Web.Optimization.Styles.Render( "~/Content/styles/css/font-awesome. ...

  2. vue项目中的登录鉴权

    用vue做一个简单的登录鉴权功能. 项目目录结构如下: Login 组件 登录成功后做本地存储和store存储,并进行跳转. Login.vue关键代码: async handleLogin(e) { ...

  3. 帝国cms 通过栏目获取某个栏目的详情

    当是某个栏目的时候,获取另外一个栏目下第一篇文章的详情,否则获取当前栏目下第一篇文章的详情 <?php $classid = $GLOBALS['navclassid']; if($classi ...

  4. CSS3总结四:盒模型(box)

    盒模型:标准盒模型.混杂盒模型 什么时候会触发混杂模式? 为什么要混杂模式渲染规则盒模型? box-sizing:content-box.border-box 关于盒模型的一些其他样式和属性值 一.盒 ...

  5. input type 为 number 时去掉上下小箭头

    <input type="number" ...> <style> input::-webkit-outer-spin-button, input::-we ...

  6. babel详解

    https://segmentfault.com/a/1190000019718925 https://babeljs.io/blog/2019/03/19/7.4.0#core-js-3-7646- ...

  7. Python中文分词组件 jieba

    jieba "结巴"中文分词:做最好的Python中文分词组件 "Jieba" Feature 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分 ...

  8. Docker 容器数据卷(Data Volume)与数据管理

    卷(Volume)是容器中的一个数据挂载点,卷可以绕过联合文件系统,从而为Docker 提供持久数据,所提供的数据还可以在宿主机-容器或多个容器之间共享.通过卷,我们可以可以使修改数据直接生效,而不必 ...

  9. c#传入类名添加类对应的表数据

    添加方法: public int Insert<T>(T model) where T : class, new() { int sucess = 0; if (model is Temp ...

  10. 微信小程序开发(二)创建一个小程序页面

    为了方便讲解,我们将上篇博客创建的小程序除了project.config.json和sitemap.json两个文件保留,其他全部删除(这两个文件存的是小程序的创建信息,删掉会有报错提示). 接下来我 ...