前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实战爬取招聘网站职位数据

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

原创
作者头像
小白学大数据
发布2023-03-30 15:53:44
4570
发布2023-03-30 15:53:44
举报
文章被收录于专栏:python进阶学习

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

疫情放开后感觉求职却越来越难了,现在大家求职都是通过各种招聘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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档