python爬虫实例--tencent网站招聘信息

本文记录了一位学习者使用Python爬虫抓取腾讯招聘网站信息的过程。由于网站频繁更新,传统的爬虫代码已无法适用,作者通过自己的实践解决了这一问题。文章分享了解决过程中遇到的挑战及解决方案,旨在为其他学习者提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习python爬虫一段时间了,想做个实例巩固一下所学的知识。

爬取对象:腾讯招聘网站

不知道是不是被爬的多了,这个网页变动挺大的。

(网上搜到的那些爬虫代码已经不好使了,๑乛◡乛๑)

代码如下:

import urllib
from urllib import request
import re
import json

# 构造请求头信息
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
                        'x64; rv:77.0) Gecko/20100101 Firefox/77.0'}
url = 'https://careers.tencent.com/tencentcareer/api/post/Query?pageSize=10&language=zh-cn&area=cn&'

pat1 = re.compile('"PostId":"(.*?)"')
x = 0
# 爬取1--3页的招聘信息
for i in range(1, 4):
    kw = {'pageIndex': i}
    kwd = urllib.parse.urlencode(kw)
    url_use = url + kwd
    req = urllib.request.Request(url_use, headers=header)
    data = urllib.request.urlopen(req).read().decode()
    # 使用正则表达式获取职位ID号
    postId = re.findall(pat1, str(data))
    for j in postId:
        # 访问职位信息详情页面
        url_new = 'https://careers.tencent.com/tencentcareer/api/post/ByPostId?postId=%s' % j
        req_new = urllib.request.Request(url_new, headers=header)
        data_new = urllib.request.urlopen(req_new).read().decode()   # 返回的data_new是字符串类型str
        # 将字符串转换成字典
        data_json = json.loads(data_new)
        # 获取职位信息
        x += 1
        print('------------第%s个职位信息------------' % x)
        print('职位名称:'+data_json['Data']['RecruitPostName'])
        print('工作职责:\n'+data_json['Data']['Responsibility'])
        print('工作要求:\n'+data_json['Data']['Requirement'])

执行结果太长,附上部分执行结果

 

 

注:文章内容主要是记录学习过程中遇到的一些问题,以及解决方法。留个记录,同时分享给有需要的人。如有不足之处,欢迎指正,谢谢! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值