python实战爬取招聘网站职位数据

2023-03-30 15:53:44 浏览数 (1)

大家都知道金三银四是每年的求职高峰期,是中国招聘市场中最热门的季节之一。这段时间内,许多公司会发布大量的招聘信息,吸引大批求职者前来应聘。同时,也有许多人选择这个时候跳槽,因为这个时候找到新工作的机会相对较大。

疫情放开后感觉求职却越来越难了,现在大家求职都是通过各种招聘app,但是上面太多的岗位介绍,错综复杂的。而且不能把全部的信息全部罗列出来,这样也让人很苦恼,所以今天我们就通过python爬虫技术,为大家解决这个问题。首先我们的爬取目标是boss直聘,需求就是批量把地点、 公司名、工资 、等详细资料做成文档。,在获取数据之前简单的对网站进行了分析,该网站上的反爬主要有两点。1、 直接使用requests库,在不设置任何header的情况下,网站直接不返回数据。2、同一个ip连续访问多次,直接封掉ip。

上面2个都是爬虫道路上的基本困难,直接的解决办法就是1、获取正常的 http请求头,并在requests请求时设置这些常规的http请求头。2、使用代理IP进行访问,代理的质量有千差万别,需要根据自己的实际业务去测试为准招聘网站对IP的需求就很严,经过多次测试对比最后选择了亿牛云爬虫代理,编写爬虫程序并添加代理IP代码如下:

代码语言:javascript复制
 #! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "https://www.zhipin.com/chengdu/?sid=sem_pz_bdpc_dasou_title"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://www.zhipin.com/chengdu/?sid=sem_pz_bdpc_dasou_title"

    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "16JVJVOR"
    proxyPass = "854562"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text

0 人点赞