前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫自学系列(七) -- 项目实战篇(一)爬取腾讯暑期实习

Python爬虫自学系列(七) -- 项目实战篇(一)爬取腾讯暑期实习

原创
作者头像
看、未来
修改2021-02-26 10:14:13
3970
修改2021-02-26 10:14:13
举报

前言

之所以标题不说是爬什么网,主要是怕大家看了标题以为是之前那篇的返稿。其实不是啊。

这次爬的是腾讯的暑期实习招聘。

上次爬完之后放那边也没去更新过,今天再上去看,发现人家已经改版了。

不知道为啥啊,就喜欢爬他们家的,还有爬CSDN的。

那,这次改版,数据是好爬了呢,还是难爬了呢?拭目以待啊(好爬我就不写了,难爬我就写不了)

流程

第一步,打开网站

这不废话嘛,不打开网站怎么分析嘛。

腾讯暑期实习

不知道是不是我网络不太行,打开这个网址,有时候可以,有时候就是白屏。

所以爬不下来不用担心是被封了IP,可能是真的卡,缓缓再来就好。

第二步,分析网站

进去之后,你随便点,你会发现点来点去就是那一个网址,开心吧。

我的第一反应就是网页渲染。很抱歉这个系列没有提到网页渲染以及解决方法,因为我也不会啊。。。

毕竟我是个学后端的。

当时心里拔凉拔凉的,当时我还是不死心,点开了网页源码:

好样儿的。

当我把这句拿去百度的时候:href="javascript:;",网上的回复清一色都是用自动化测试工具去弄吧(selenium之类)。

为什么心里会凉呢?因为我觉得,这些模块,应该是一个模块一个数据包吧!!!

给我看傻了都,四个大label,每个大label里面还有好几个小label,然后小label里面还有下拉框,我的天哪!!!

就在我绝望之际,我还是点开了它的数据包,我想,就让我最后看一眼吧,我的天哪。

好,这么一看,就一个大label一个包?这么多数据就一个包?好极。

死灰复燃了。


分析json包

在这方面,我不得不说,火狐还是有它的优势在里面的,看一下:技术类岗位数据包

这是火狐的。

跟网页对比一下,来看里面的那些元素分别是什么意思吧。

可以看到,所有的数据都在 JoinResultDtoList 里面,

(这里记得把转义字符自行转换)

代码语言:txt
复制
title:岗位方向
rrCount:投递录用比
desc:岗位描述
request:岗位需求
workcity:据我分析啊,是这个样子的:
	1、深圳总部
	2、北京
	3、上海
	4、广州
	5、成都
	8、合肥
	11、杭州
招聘城市:远程

其他三个包我都看过了,各位自取咯。

获取数据并简单处理

接下来,就是把数据拿下来处理了(简陋了点,我得去休息了):

代码语言:txt
复制
import requests
import json

user_agent=[
# 请自己放上十几个头
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0'
]


list_urls=[]
def geturl():
    page = requests.get("https://join.qq.com/api/v1/jobDetails/getJobDetailsByPidAndTid?timestamp=1611742780882&pid=2&tid=2")
    html = page.text
    print(type(html))
    jhtml = json.loads(html)
    print(jhtml['data'])
    print(type(jhtml))
    for data in jhtml['data']:
        print(data)

geturl()

各位尽请发挥。

整完之后记得存起来,可以参照我pandas的第二篇:pandas做数据存储


爬虫百战穿山甲 小圈子

爬虫自学系列写了有三分之二了,大家是否有觉得自己学习爬虫过程中会遇到各种各样的问题?

我组织了一群朋友,都是身经百战的‘大佬’了,让我们一起在爬虫的路上披荆斩棘吧。

爬虫百战穿山甲·传送门

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 流程
    • 第一步,打开网站
      • 第二步,分析网站
        • 分析json包
          • 获取数据并简单处理
          • 爬虫百战穿山甲 小圈子
          相关产品与服务
          数据保险箱
          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档