一、系统环境:
Windows 7+Python3.4+MongoDB
二、爬取过程:
(1)获取大学本科所有专业名称
# 获取大学本科专业名称
def get_name():
url = 'http://yx.liexue.cn/zy/'
wbdata = requests.get(url,headers=header).content
soup = BeautifulSoup(wbdata,'html.parser')
name = soup.select("dd.but > a")
name_list = []
for n in name:
# print(n.text)
name_list.append(n.text)
# print(soup)
print(name_list)
# print(len(name_list))
return name_list
(2)以专业名称作为搜索关键词获取职位信息的数量
url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl={0}&kw={1}&sm=0'.format("全国",keywords)
wbdata = requests.get(url,headers=header).content
soup = BeautifulSoup(wbdata,'lxml')
job_count = re.findall(r"共<em>(.*?)</em>个职位满足条件",str(soup))[0]
pages = (int(job_count)//60)+1
(3)获取职位信息
jobs_url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl={0}&kw={1}&sm=0&p={2}'.format("全国",keywords,page)
job_name = soup.select("table.newlist > tr > td.zwmc > div > a")
# company_name = soup.select("table.newlist > tr > td.gsmc > a")
salarys = soup.select("table.newlist > tr > td.zwyx")
locations = soup.select("table.newlist > tr > td.gzdd")
times = soup.select("table.newlist > tr > td.gxsj > span")
for name,salary,location,time in zip(job_name,salarys,locations,times):
data = {
'name':name.get_text(),
'salary':salary.get_text(),
'location':location.get_text(),
'time':time.get_text(),
'cate_name':keywords
}
print(keywords,data,page)
jobs_info.insert_one(data)
print("插入1条数据完成")
(4)使用多进程执行程序
if __name__ == '__main__':
pool = Pool(processes=4)
pool.map_async(get_name_job_info,get_name())
pool.close()
pool.join()
最后,抓取了100多万条智联招聘上的职位信息,使用了多进程和多线程,耗时很快;
需要完整代码的,可以关注微信公众号:州的先生,留言获取
部分数据如下:
cate_name | location | name | salary | time | |
---|---|---|---|---|---|
0 | 侦查学 | 郑州 | 法务监察 | 6000-10000 | 12-15 |
1 | 侦查学 | 武汉 | 监察经理(003439) | 10000-20000 | 12-15 |
2 | 侦查学 | 南京 | 监察经理(003439) | 10000-20000 | 12-15 |
3 | 侦查学 | 徐州 | 监察经理(003439) | 10000-20000 | 12-15 |
4 | 侦查学 | 沈阳 | 监察经理(003439) | 10000-20000 | 12-15 |
5 | 侦查学 | 重庆 | 监察经理(003439) | 10000-20000 | 12-15 |
6 | 侦查学 | 广州 | 监察经理(003439) | 10000-20000 | 12-15 |
7 | 侦查学 | 北京 | 内侦总经理 | 50000元以上 | 12-06 |
8 | 哲学 | 广州 – 海珠区 | 招生老师/课程顾问(中山大学管理哲学班) | 8001-10000 | 12-16 |
9 | 哲学 | 广州 – 海珠区 | 招生老师/课程顾问(中山大学管理哲学班) | 8001-10000 | 12-16 |
10 | 哲学 | 苏州 | 【同声传译.高级口译讲师(人文哲学社会科学方向)】 | 10000-20000 | 12-16 |
11 | 哲学 | 苏州 | 【同声传译.高级口译讲师(人文哲学社会科学方向)】 | 10000-20000 | 12-16 |
12 | 哲学 | 济南 | 招教专职教师(教育学、心理学、法律、历史、哲学) | 8001-10000 | 12-16 |
13 | 哲学 | 北京 | 哲学图书编辑 | 6001-8000 | 12-16 |
14 | 哲学 | 苏州 | 美吉姆(苏州总部)教育咨询顾问(课程销售) EC | 10000-20000 | 12-16 |
15 | 哲学 | 哈尔滨 | 组织干事岗位 | 6001-8000 | 12-16 |
16 | 哲学 | 济南 | 招教专职教师(教育学、心理学、法律、历史、哲学) | 8001-10000 | 12-16 |
17 | 哲学 | 北京 | 文案策划 | 10001-15000 | 12-16 |
18 | 哲学 | 广州 – 海珠区 | 招生老师/课程顾问(中山大学管理哲学班) | 8001-10000 | 12-16 |
19 | 哲学 | 宁波 | 华孚进出口-资深外贸业务员 | 5000-8000 | 12-16 |
20 | 哲学 | 北京 | 哲学图书编辑 | 6001-8000 | 12-16 |
21 | 哲学 | 北京 – 丰台区 | 研究室科员 | 5400-6700 | 12-16 |
22 | 哲学 | 深圳 – 宝安区 | 外贸业务 | 4001-6000 | 12-16 |
23 | 哲学 | 广州 – 白云区 | 外贸业务员 | 6001-8000 | 12-16 |
24 | 哲学 | 苏州 | 美吉姆(苏州总部)教育咨询顾问(课程销售) EC | 10000-20000 | 12-16 |
25 | 哲学 | 广州 – 海珠区 | 招生老师/课程顾问(中山大学管理哲学班) | 8001-10000 | 12-16 |
26 | 哲学 | 上海 | 公共课专职教师(近代史、马概、政经) | 8001-10000 | 12-16 |
27 | 哲学 | 哈尔滨 | 组织干事岗位 | 6001-8000 | 12-16 |
28 | 哲学 | 北京 | 创新院创新环境研究所面向海内外公开招收博士后研究人员的公告 | 10001-15000 | 12-16 |
29 | 哲学 | 苏州 | 【同声传译.高级口译讲师(人文哲学社会科学方向)】 | 10000-20000 | 12-16 |
… | … | … | … | … | … |
1074668 | 服装与服饰设计 | 长春 | 副高以上职称教师(离退教授、副教授)——(工作地:山西晋中) | 8001-10000 | 11-28 |
1074669 | 服装与服饰设计 | 广州 | 副高以上职称教师(离退教授、副教授)——(工作地:山西晋中) | 8001-10000 | 11-28 |
1074670 | 服装与服饰设计 | 沈阳 | 副高以上职称教师(离退教授、副教授)——(工作地:山西晋中) | 8001-10000 | 11-28 |
1074671 | 服装与服饰设计 | 太原 | 副高以上职称教师(离退教授、副教授)——(工作地:山西晋中) | 8001-10000 | 11-28 |
1074672 | 服装与服饰设计 | 北京 | 副高以上职称教师(离退教授、副教授)——(工作地:山西晋中) | 8001-10000 | 11-28 |
1074673 | 服装与服饰设计 | 绵阳 | 大学专任教师 | 4001-6000 | 11-24 |
1074674 | 服装与服饰设计 | 福州 | 影视系及美术与设计系专任教师 | 6000-12000 | 11-24 |
1074675 | 服装与服饰设计 | 北京 | 服装设计师(服饰事业部生产技术部) | 4001-6000 | 12-15 |
1074676 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074677 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074678 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074679 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074680 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074681 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074682 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074683 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074684 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074685 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074686 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074687 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074688 | 服装与服饰设计 | 北京 | 服装助理 服装设计师 服装搭配师 | 4001-6000 | 12-13 |
1074689 | 艺术史论 | 郑州 | 艺术基金运营总监 | 6001-8000 | 12-16 |
1074690 | 艺术史论 | 北京 | 艺术品实习生 | 2001-4000 | 12-16 |
1074691 | 艺术史论 | 杭州 – 上城区 | 展厅管理员 | 4001-6000 | 12-15 |
1074692 | 艺术史论 | 沈阳 – 大东区 | 美术教师 | 4001-6000 | 12-15 |
1074693 | 艺术史论 | 广州 | 美术专业教师 | 4001-6000 | 12-15 |
1074694 | 艺术史论 | 沈阳 – 大东区 | 美术老师 | 2001-4000 | 12-14 |
1074695 | 艺术史论 | 沈阳 | 少儿美术老师 | 2001-4000 | 12-12 |
1074696 | 艺术史论 | 沈阳 | 美术教师 | 2001-4000 | 12-12 |
1074697 | 艺术史论 | 武汉 | 艺术史论教师 | 3000-5000 | 12-09 |
1074698 rows × 5 columns
文章版权所有:州的先生博客,转载必须保留出处及原文链接