拉钩网爬取所有python职位信息

最近在找工作,所以爬取了拉钩网的全部python职位,以便给自己提供一个方向。拉钩网的数据还是比较容易爬取的,得到json数据直接解析就行,废话不多说, 直接贴代码:

 1 import json
 2 import urllib
 3 import urllib2
 4 from openpyxl import load_workbook
 5 filename = ‘E:\excel\position_number_11_2.xlsx‘
 6 ws = load_workbook(filename=filename)
 7 sheet = ws.create_sheet(0)
 8 sheet.title = ‘position‘
 9 count = 1
10
11 for page in xrange(100):
12     from_data = {
13         ‘first‘: ‘false‘,
14         ‘pn‘: page,
15         ‘kd‘: ‘Python‘
16     }
17
18     header = {
19         "User-Agent": ‘Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0‘,
20         ‘Referer‘: ‘https://www.lagou.com/jobs/list_Python?px=default&city=%E5%85%A8%E5%9B%BD‘,
21     }
22     request_url = ‘https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false‘
23     data = urllib.urlencode(from_data)
24
25     request = urllib2.Request(request_url, headers=header, data=data)
26         try:
27         html = urllib2.urlopen(request).read().decode(‘utf-8‘)
28     except Exception:
29         print ‘没有职位信息‘
30         break
31     # print html
32     jsonobj = json.loads(html)
33     # print jsonobj
34     dict_obj = jsonobj[‘content‘][‘positionResult‘][‘result‘]
35     for item in dict_obj:
36         if item:
37             sheet.cell(row=count, column=1).value = item[‘companySize‘]
38             sheet.cell(row=count, column=2).value = item[‘workYear‘]
39             sheet.cell(row=count, column=3).value = item[‘education‘]
40             sheet.cell(row=count, column=4).value = item[‘financeStage‘]
41             sheet.cell(row=count, column=5).value = item[‘city‘]
42             sheet.cell(row=count, column=6).value = item[‘industryField‘]
43             sheet.cell(row=count, column=7).value = item[‘formatCreateTime‘]
44             sheet.cell(row=count, column=8).value = item[‘positionName‘]
45             sheet.cell(row=count, column=9).value = item[‘companyFullName‘]
46             sheet.cell(row=count, column=10).value = item[‘salary‘]
47             count += 1
48             ws.save(‘E:\excel\position_number_11_2.xlsx‘)

代码写得比较急,就没怎么规范。 过两天把微博和豆瓣的代码发出来,希望园里的大神多指点^_^

时间: 2024-10-30 10:04:06

拉钩网爬取所有python职位信息的相关文章

Python 爬取拉勾网python职位信息

今天的任务是爬取拉勾网的职位信息. 首先,我们进入拉勾网,然后在职位搜索栏搜索Python 的同时,打开控制面板F12,来查看网页构成. 在XHR里,可以清楚的看见Ajax请求,所以需要使用session模块来模拟浏览器的行为来操作. 源代码如下: import requests import json header = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Referer': 'https://www.la

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

首先前往拉勾网"爬虫"职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是POST 使用requests的post方法获取数据,发现并没有返回想要的数据,说明需要加上headers和每隔多长时间爬取 我们可以看到拉勾网列表页的信息一般js加载的都在xhr和js中,通过发送ajax加载POST请求,获取页面信息. 这个是ajax的头信息,通过Form Data中的的信

通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息

源代码:https://github.com/nnngu/LagouSpider 效果预览 思路 1.首先我们打开拉勾网,并搜索"java",显示出来的职位信息就是我们的目标. 2.接下来我们需要确定,怎样将信息提取出来. 查看网页源代码,这时候发现,网页源代码里面找不到职位相关信息,这证明拉勾网关于职位的信息是异步加载的,这也是一种很常用的技术. 异步加载的信息,我们需要借助 chrome 浏览器的开发者工具进行分析,打开开发者工具的方法如下: 点击Nerwork进入网络分析界面,这

拉钩网————爬取尝试

#拉勾网需要User-Agent请求头才能获取到内容 from urllib import request url="https://www.lagou.com/jobs/list_python%20?labelWords=&fromSearch=true&suginput=" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, l

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输

[python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对比,你可以进一步加深Python爬虫的印象.同时,文章给出了我以前关于爬虫的基础知识介绍,方便新手进行学习.        总之,希望文章对你有所帮助,如果存在不错或者错误的地方,还请海涵~ 一. DOM树结构分析 豆瓣Top250电影网址:https://movie.douban.com/top2

Python爬虫项目--爬取自如网房源信息

本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http://hz.ziroom.com/z/nl/z3.html?p=2 的p参数控制分页 2. get请求 2.获取单页源码 1 # -*- coding: utf-8 -*- 2 import requests 3 import time 4 from requests.exceptions import

利用Selenium爬取淘宝商品信息

一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命

Node.js爬虫-爬取慕课网课程信息

第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让我们方便的操作HTML,就像是用jQ一样 开始前,记得 npm install cheerio 为了能够并发的进行爬取,用到了Promise对象 //接受一个url爬取整个网页,返回一个Promise对象 function getPageAsync(url){ return new Promise(