拉勾网

R爬虫实战1(学习)—基于RVEST包

早过忘川 提交于 2020-02-25 08:13:41
这里用Hadley Wickham开发的rvest包。再次给这位矜矜业业开发各种好用的R包的大神奉上膝盖。 查阅资料如下: rvest的github rvest自身的帮助文档 rvest + CSS Selector 网页数据抓取的最佳选择-戴申 : 里面有提及如何快速获得html的位置。看完这篇,想想我之前看代码看半天分段真是逗比。。经测试,遨游浏览器,右键,审查元素可以得到类似结果。 戴申的blog 里面还有若干相关文章,国内RVEST资料基本就靠他的BLOG了,感激! 言归正传,拿了几个网页练手。包括 对拉勾网爬了一下虫,还尝试了对国外某黄页爬虫,对ebay用户评价爬虫分析其卖家卖的东西主要在哪个价格段(我查的那个卖家,卖8.99和39.99最多,鞋子类),做了一下文本挖掘,还有爬了一下股票数据,基金买入情况等等。 之所以放拉勾网为例子,因为这个大家都比较熟一点?其他的都有点小众=_=而且虽然我没有跳槽的心,但年初却是很多人跳槽的热点。另外, 因为之前听人说过,要了解一个公司的动态,有一个办法是去看这个公司放出来的招聘岗位,可以知道他们最近哪个业务线要扩张了,哪个业务线要跑人了,以及了解技术需求。 rvest基础语法: library(rvest) lagou<-"http://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88

python爬取拉勾网---成功解决:'status': False, 'msg': '您操作太频繁,请稍后再访问', 'clientIp': '117.136.41.XX', 'state': 2

旧巷老猫 提交于 2020-02-17 22:43:56
初次用python写爬虫,听说拉勾网反爬机制最厉害,今天学完python语法就上 试着爬取java后端开发招聘情况,没想第一步一来就out !!! 错误代码示范: from urllib import request from urllib import parse url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false' headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' , 'Referer' : 'https://www.lagou.com/jobs/list_python?labelWords=sug&fromSearch=true&suginput=py' } data = { 'first' : 'true' , 'pn' : 1, 'kd' : 'python' } content = request.Request ( url, headers = headers, data = parse.urlencode ( data ) .encode

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

淺唱寂寞╮ 提交于 2020-02-13 19:04:48
python成功爬取拉勾网(一个小白的心里路程) 最开始想爬取拉钩是因为半年前上python实验课的时候,老师给了两个任务,一个时爬取糗百的笑话内容,另一个时爬取拉勾网的职位信息,当时因为课时紧张的缘故,老师讲解了关于爬虫的相关的库(requests,BeautifulSoup库等)的基本使用方法,发下了爬取糗百网的源码,让我们自己试一试,说是拉勾网不好爬取,目前的水平不够。疫情在家这几天我基本可以容易的爬取静态网页相关的内容,便想的试试爬取拉钩。 先观察网页源码: 很容易从源码看出所有相关的信息都放在li标签的属当中,具体的工资值放在span标签当中 我用直接用原来爬取静态网页的方法直接爬取: import bs4 import requests import re from bs4 import BeautifulSoup url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=' try : hd = { 'user-agent' : 'chorme/10' } r = requests . get ( url , headers = hd ) r . raise_for_status ( ) r . encoding = r . apparent_encoding

Python爬虫爬取拉勾网职位信息,生成Excel并通过邮件发送

北慕城南 提交于 2020-01-03 02:59:54
此代码包含了Python爬虫、Python生成Excel和Python发送邮件3部分主要功能。 利用Python,可以爬取拉勾网的职位信息,首先,通过浏览器的开发者工具,打开Network选项卡,筛选XHR类型的请求,我们可以找到拉勾网Ajax异步请求的url地址,也就是图中红框标记的位置 然后观察post参数的值,可以发现传递了3个参数,kd为搜索的关键字,pn为页码,见图中红框 再看返回的是json格式的数据,包含了列表页的职位信息: 打开详情页,观察页面的URL地址,发现前面部分是固定的,后面是返回的json数据中职位的positionId.html 于是可以开始爬取了,根据功能需求,分如下4个部分:第一部分是根据Ajax调用地址获取当前页返回数据的方法,第二部分是根据返回的职位信息生成Excel,其中调用了爬取详情页的方法用于获取工作地址,传入的参数为该职位的positionId,第三部分是将得到的Excel发送邮件,第四部分是main方法调用 #1、根据url发送post请求,得到返回的json格式的数据,代码如下:import requestsimport openpyxlfrom openpyxl.styles import Fontimport timeimport osimport smtplibfrom email.mime.text import

拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息

不打扰是莪最后的温柔 提交于 2020-01-03 02:59:41
首先前往 拉勾网“爬虫”职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是POST 使用requests的post方法获取数据,发现并没有返回想要的数据,说明需要加上headers和每隔多长时间爬取 我们可以看到拉勾网列表页的信息一般js加载的都在xhr和js中,通过发送ajax加载POST请求,获取页面信息。 这个是ajax的头信息,通过Form Data中的的信息获取页面 下面是scrapy爬虫的 代码部分 1 import scrapy 2 import json 3 from lagou.items import LagouItem 4 class LagoupositionSpider(scrapy.Spider): 5 name = 'lagouposition' 6 allowed_domains = ['lagou.com'] 7 kd = input('请输入你要搜索的职位信息:') 8 ct =input('请输入要搜索的城市信息') 9 page=1 10 start_urls = ["https://www.lagou.com/jobs/list_"+str(kd)+"&city="+str(ct)] 11 headers={"User

数据分析行业招聘职位分析报告--基于拉勾网

不想你离开。 提交于 2019-12-18 18:16:46
项目背景 大数据时代的到来让数据在公司决策上发挥了越来越大的作用,数据分析师也成为了各大企业的标配,那么各大企业又会愿意花多少代价来为数据买单呢?本文将通过从拉勾网爬取到的职位信息来展现 「数据分析」 职位究竟 「钱」 景如何: 哪些城市更需要数据分析人才,除了北上广深还有没有其他城市给我们惊喜; 哪些行业更需要数据分析人才,薪资如何; 目前数据分析职位要求的工作经验和学历是怎样: 我工作%n年了,该拿到多少工资才不至于拖后腿了。 使用工具 Python/Tableau 数据获取主要使用 urllib/json 包,具体可参见文章 Python爬虫拉勾网 ; 数据清洗处理使用了 pandas 包,可视化使用了 seaborn 包。 数据来源 本文使用数据全部来自于拉勾网,职位搜索关键词 「数据分析」 ,获取时间2018/3/8,字段解释如下: 字段 内容 city 城市 indusryField 行业 workYear 工作经验 education 学历要求 companySize 公司规模 salary 薪资 positionId 职位编号 项目内容 导入所需包 import pandas as pd import seaborn as sns 主题/字体设置 设置图表主题; 指定字体解决图表中文显示为方块的问题。 sns.set_style('ticks',{'font

基于Python的拉勾网Python工程师招聘信息的爬取和处理分析

[亡魂溺海] 提交于 2019-12-16 14:07:50
目录 一、项目简介 1、项目完成的功能 2、项目完成的特色 3、项目采用的技术栈 二、项目的需求分析 1、项目的功能需求分析 2、项目的非功能需求分析 系统性能需求 系统观感需求(界面需求) 三、项目UML图 1、项目功能架构图 2、项目主要功能流程图 四、项目模块 1、数据爬取、过滤与清洗 2、数据可视化展示 (1)分析中国各个城市的职位数量及分布情况 (2)使用词云图展示公司福利 (3)搜索 (4)GUI页面 五、项目总结 1、项目特点 2、项目不足之处 六、项目借鉴 一、项目简介 该项目是基于Python的拉勾网Python工程师招聘信息的爬取和处理分析,利用Python写了爬虫去获取拉勾网的招聘信息,然后进行数据可视化分析,最后用一个GUI页面串起整个项目。 1、项目完成的功能 项目完成了以下几个主要功能: ①数据的爬取、过滤与清洗:爬取拉勾网在中国范围内关于python工程师职位相关的数据信息,过滤后存储公司全名、公司福利、城市字段的内容,将数据存入.csv文件,然后对.csv文件相关字段的数据进行清洗。 ②数据的可视化展示:使用GUI页面展示项目,使用柱状图展示中国各个城市的职位数量,使用词云图展示公司福利,还可以通过指定城市搜索相关内容。 2、项目完成的特色 该项目的主要特色有以下四点: ①项目采用了GUI页面展示,能使用户更加直观方面的观察到数据

数据分析行业招聘职位分析报告--基于拉勾网

喜你入骨 提交于 2019-12-08 14:27:27
项目背景 大数据时代的到来让数据在公司决策上发挥了越来越大的作用,数据分析师也成为了各大企业的标配,那么各大企业又会愿意花多少代价来为数据买单呢?本文将通过从拉勾网爬取到的职位信息来展现 「数据分析」 职位究竟 「钱」 景如何: 哪些城市更需要数据分析人才,除了北上广深还有没有其他城市给我们惊喜; 哪些行业更需要数据分析人才,薪资如何; 目前数据分析职位要求的工作经验和学历是怎样: 我工作%n年了,该拿到多少工资才不至于拖后腿了。 使用工具 Python/Tableau 数据获取主要使用 urllib/json 包,具体可参见文章 Python爬虫拉勾网 ; 数据清洗处理使用了 pandas 包,可视化使用了 seaborn 包。 数据来源 本文使用数据全部来自于拉勾网,职位搜索关键词 「数据分析」 ,获取时间2018/3/8,字段解释如下: 字段 内容 city 城市 indusryField 行业 workYear 工作经验 education 学历要求 companySize 公司规模 salary 薪资 positionId 职位编号 项目内容 导入所需包 import pandas as pd import seaborn as sns 主题/字体设置 设置图表主题; 指定字体解决图表中文显示为方块的问题。 sns.set_style('ticks',{'font

python数据采集及可视化

六眼飞鱼酱① 提交于 2019-12-07 21:23:37
python做数据分析非常强大和方便。我们可以随心所欲的从互联网上爬取数据并进行分析。微博评论,知乎粉丝,起点小说,甚至QQ音乐,淘宝,百度...只要你想要的数据,都有办法从网上快速获取。今天我们就从一个招聘网站上来分析下深度学习目前就业情况,网站是拉勾网, 先采集拉勾网上面的数据,采集的是深度学习岗位的数据,然后用Python进行可视化。主要涉及的是爬虫&数据可视化的知识。 爬虫部分 先用Python来抓取拉勾网上面的数据,采用的是简单好用的requests模块。主要注意的地方是,拉勾网属于动态网页,所以会用到浏览器的F12开发者工具进行抓包。抓包以后会发现,其实网页是一个POST的形式,所以要提交数据,提交的数据如下图: 在上图也可以轻松发现:kd是查询关键词,pn是页数,可以实现翻页。 代码实现: # 导入模块 import requests # 请求模块 import re import pandas as pd import time import random url = 'https://www.lagou.com/jobs/positionAjax.json?city=%E6%B7%B1%E5%9C%B3&needAddtionalResult=false&isSchoolJob=0' # 反爬措施 header = { 'Accept':'application

【第二天】自学python:Http通过GET获取数据的爬取练习

大城市里の小女人 提交于 2019-12-04 06:11:30
这篇文章本来是昨天要发的,主要是昨天写的拉勾网数据抓取的时候出现IP被标记了,我这边对IP代理还不是很熟悉,所以页也没发抓取拉勾网的数据练习。 今天的话我对比了拉勾网和BOSS直聘这两个网站,职位的请求数据方式不一样,拉勾网采用是jquery的ajax的POS请求方式,而BOSS直聘采用的是http的GET请求方式。 数据获取方式不同,我们抓取的方式也不同。 我们来看看BOSS直聘的简单采集 今天目的:抓取BOSS直聘搜索python的职位的数据。 我们打开网址:https://www.zhipin.com/ 搜索python 第一步:打开F12模式,查看调试工具 找到你们访问的cookie、tooken来 定义好头部参数,请求需要用到 第二步:分析链接 https://www.zhipin.com/c101280100/?query=python&page=1&ka=page-1 https://www.zhipin.com/c101280100/?query=python&page=2&ka=page-2 这个是分页链接,但是我也很奇怪,搜索python,只能分10页,我觉得应该BOSS对数据进行处理,不让搜索出来。这个有点不解 通过代码将分页链接进行规范化,我传10页,就会将10页的链接生成好,保存到集合中去。 第三步:解析一个页面链接的数据 请求的时候需要带上头部数据