Python爬虫:100万以大学专业为关键词的职位信息爬取

一、系统环境:

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

猜你也喜欢

发表评论

电子邮件地址不会被公开。