Python简单爬虫获取岗位招聘人数

本文介绍了一种使用Python的Selenium库抓取51job网站上特定职位数量的方法。通过自动化火狐浏览器,获取职位搜索页面源代码,并使用正则表达式解析数据,最终实现了对'python'及其相关职位数量的有效抓取。
#encoding=utf-8
import selenium
import selenium.webdriver
import re
import time

# pip install selenium
# 需要下载火狐浏览器的 webdriver 驱动放到 d:/python27目录下,即python的安装目录
def getnumberbyname(searchname):
    url = "https://search.51job.com/list/040000,000000,0000,00,9,99," + searchname + ",2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare="
    # 模拟打开网页
    driver = selenium.webdriver.Firefox()
    driver.get(url)
    pagesource = driver.page_source
    # 打印抓取网页
    # print pagesource
    restr = """<div class="rt">([\s\S]*?)</div>"""
    # restr = '<div class="rt">(\\d+)</div>'
    regex = re.compile(restr, re.IGNORECASE)
    mylist = regex.findall(pagesource)
    # 去掉空格
    newstr = mylist[0].strip()
    # print newstr
    
    # 再次匹配抓取的数据
    restr2="""(\\d+)"""
    regex2 = re.compile(restr2, re.IGNORECASE)
    mylist = regex2.findall(newstr)
    driver.close()
    # print mylist[0]
    return mylist[0]


jobs = ['python', 'python 数据', 'python 运维', 'python web', 'linux 运维']
for work_name in jobs:
    print work_name, getnumberbyname(work_name)

 

转载于:https://www.cnblogs.com/reblue520/p/10338257.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值