python3 爬取招聘网实战

废话不多说,直接贴代码!!! 是可以用的,可能需要稍微改改就好了~
import time
import requests
import pyquery
import pymysql
import type
from ceil import page
from select import select_post

def main():

url = 'http://www.chinahr.com/{0}/jobs/{1}' 
try:
    for m in type.zhiye_dict.values():
        for k, industry in type.citys_dict.items():
            urls = url.format(industry, m)
            print('网址链接>>>', urls)
            zhineng_type = urls[-5:]  # zhineng_leibie
            zhineng_type_info = type.zhineng_dict[zhineng_type]   # 这里返回岗位的分类
            print('职能代码>>>', zhineng_type)
            print('职能类别>>>', zhineng_type_info)

            job_type = select_post(zhineng_type_info)  # 这里是调用函数select_post()返回 岗位的多级职能分类

            soup = requests.get(urls)
            doc = pyquery.PyQuery(soup.text)
            page_count = page(doc)
            print(page_count)
            if page_count:
                new_url = urls + '/{}/'
                for page_go in range(int(page_count)):
                    info = new_url.format(page_go + 1)
                    print('加了页数的网址>>>', info)
                    soup = requests.get(info)
                    doc = pyquery.PyQuery(soup.text)
                    time.sleep(0.5)
                    content = doc.find('div[id="searchList"]').find('div[class="resultList"]')
                    content_list = content.find('div[class="jobList"]').items()      # 获取每个公司的位置
                    href_list = []
                    for index in content_list:
                        href = index.attr('data-url')   # 获取每个公司的链接
                        href_list.append(href)
                        # print('获取公司URL测试6666666', href_list)
                        # people_info(href_list)    # 此函数是被调用获取公司发布的岗位详细信息
                        # time.sleep(0.2)
                        # people_info_again(href_list)  # 此函数同样是被调用获取公司发布的岗位详细信息
                        index_href_id = href_list[-1]
                        print('-1:', index_href_id)
                        auto = requests.get(index_href_id)
                        doc = pyquery.PyQuery(auto.text)
                        company_name = doc.find('div[class="job-company jrpadding"]').find('h4').text()
                        # print('公司名称>>>', company_name)
                        _industry = doc.find('div[class="job-company jrpadding"]').find('table').find('tbody').find('tr').eq(1).find('td').eq(1).text()
                        industry = doc.find('div[class="company_intro  jpadding mt15"]').find('div[class="compny_tag"]').find('span').eq(0).text()
                        # print('行业>>>', industry)
                        _size = doc.find('div[class="job-company jrpadding"]').find('table').find('tbody').find('tr').eq(2).find('td').eq(1).text()
                        size_ = doc.find('div[class=&#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值