相应软件下载:

Fiddler - 请求捕获工具,PC和手机都行。提取码:6qjt (推荐百度自行下载最新版)

7月初,放了几天暑假,到了大三了,要准备实习的事宜,就到各大招聘平台上搜寻称心的职位,我就想着找份关于Python方向的实习,但是各大平台关于Python的实习少之又少,只有实习僧平台稍许有点关于Python的实习。因为最近找到了一些数据图形化显示的开源库,就想着爬取实习僧的职位信息下来进行数据可视化分析分析。

起初,打开分析了实习僧的网页源代码,觉得应该挺简单的,但后来才发现,实习僧使用了字体反爬,职位信息的某些字段在源代码中显示不出来的。

以上职位的标题字段在源代码中有些显示不出来的:

类似于&#xf005标志的是实习僧自定义字体的标识,后来在网上找了一下怎样破解字体反爬,发现主要有几种方法:

  • 字体静态映射:用人工的办法把对应的字体和标识保存下载,以便在爬取的时候进行解析。
  • 分析ttf文件:解析源代码的ttf文件资源下来,转化为xml格式,根据字体的绘制路线和动态变化的规律,进行动态解析字体。
  • OCR识别

以上几种方法中,前两种办法太麻烦,太浪费时间,而且还有点不稳定因素,果断放弃。最后一种OCR识别看着就觉得太高端,本着做个简单小爬虫的,所以放弃。

因为以上几种办法都不喜欢用,所以又仔细研究了网页源代码,然后惊奇的发现点开职位的详细的链接之后,里面的内容是没有使用自定义字体的了,这就说明我可以在搜索界面获取链接,然后再爬取链接对应页面的内容绕过字体反爬。但后来又想了一下想,如果这样做的话,每个职位都要爬取一个页面,哪所有的加起来也不是一个小数目了,有可能会被封IP,本着做个小爬虫,不想弄代理,也没钱弄代理,免费的也不好用,所以又pass掉这个方案。

在以上诸多方案被我抛弃掉之后,本想直接去github找别人已经做好的字体反爬的项目来抄抄,但是突然想起来,我实习僧的PC网页不能爬取,或许我能使用移动端进行爬取,绕过字体反爬。

然后我就通过电脑使用Fiddler软件配置代理,手机连接代理进行请求的捕获,懒得下载手机app,直接扫码打开的实习僧的微信小程序,进入职位搜索界面进行搜索,不出我所料,果然就找到的职位的API了:

打开请求的详细信息:

请求头:

响应头:

取响应头其中的一条数据数据进行格式化:

对应的职位信息就出来了,其中\u等前缀的字符是unicode编码,使用Python的json模块进行解析字符串就显示中文了:

import requests
import jsonparameters = {'k' : 'python','c' : '广州'
}html = requests.get('https://mina.shixiseng.com/mina/interns/search', params=parameters)#加载字符串为字典对象
result = json.loads(html.text)
#职位索引
index = 0print('城市:', result['msg'][index]['city'])
print('职位名称:', result['msg'][index]['name'])
print('logo:', result['msg'][index]['url'])
print('时间:', result['msg'][index]['refresh'])
print('公司名称:', result['msg'][index]['cname'])

对应的控制台输出:

城市: 广州
职位名称: 研发工程师
logo: https://sxsimg.xiaoyuanzhao.com/company_logo/2015-14/bQY7aMiVDh2L365.png
时间: 06-27
公司名称: 三地信息
  • city - 对应所在城市
  • name - 对应职位名称
  • url - 公司的logo
  • refresh - 时间
  • cname - 公司的名称

这个API没有设置任何的反爬的机制,甚至在PC浏览器上直接输入,都会接收请求处理。

Python爬取实习僧职位信息相关推荐

  1. python爬取实习僧招聘信息字体反爬

    参考博客:http://www.cnblogs.com/eastonliu/p/9925652.html 实习僧招聘的网站采用了字体反爬,在页面上显示正常,查看源码关键信息乱码,如下图所示: 查看网页 ...

  2. 利用python爬取实习僧网站上的数据

    最近在找实习,就顺便想到用python爬取一些职位信息看看,有哪些岗位比较缺人. #_*_coding:utf-8_*_import requests from bs4 import Beautifu ...

  3. 使用requests爬取实习僧网站数据

    任务要求: 爬取实习僧网站的招聘公司信息和职位信息,并存储到数据库中,对应的数据库表和需要爬取的字段见下面表一和表二(注意:爬取存在的字段) 代码以上传带github上:使用requests爬取实习僧 ...

  4. Python 爬取拉勾招聘信息

    Python 爬取拉勾招聘信息 故事背景 最近有个好哥们啊浪迫于家里工资太低,准备从北方老家那边来深圳这边找工作,啊浪是学平面设计的知道我在深圳这边于是向我打听深圳这边平面设计薪资水平,当时我有点懵逼 ...

  5. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  6. Python爬取安居客经纪人信息

    Python爬取安居客经纪人信息 Python2.7.15 今天我们来爬取安居客经纪人的信息.这次我们不再使用正则,我们使用beautifulsoup.不了解的可以先看一下这个文档,便于理解.http ...

  7. Python爬取药监局化妆品管理信息发现的问题

    Python爬取药监局化妆品管理信息 **1.json格式本质上是字符串!!! 今天在爬取国家药监局化妆品管理信息的时候,发现"json数据本质上是字符串",以前我还以为json本 ...

  8. python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息

    1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author  ...

  9. python爬取b站用户_用Python爬取bilibili全站用户信息

    教你用Python爬取哔哩哔哩全站用户信息 运行 下载 git clone https://github.com/cexll/bili_user_Spider.git 复制代码 运行环境 Window ...

  10. Python爬取安居客新房信息

    由于是刚开始学习Python爬虫,做个简单的爬虫,提供一个学习思路. 由于水平有限,正则表达式写的实在是抠脚,就直接上BeautifulSoup了. BeautifulSoup的学习参考http:// ...

最新文章

  1. 数据处理遇到麻烦不要慌,5个优雅的Numpy函数助你走出困境
  2. iOS属性之assign,copy,retain的区别以及weak和strong的区别
  3. 一些可运行的C语言数据结构代码
  4. Cpp / 空指针对象调用函数的不同结果
  5. HTTP请求返回状态码和提示信息
  6. P2634 [国家集训队]聪聪可可(树形dp)
  7. 前端学习(2176):vue-router的路由的嵌套使用
  8. java 生成随机数_Java 生成随机数的 N 种方法
  9. embedding在推荐系统中的应用总结,这些你知道吗?
  10. 电脑计算机内存不够怎么办,电脑内存不足怎么办 电脑内存不足怎么解决
  11. sv队列和动态数组的区别_systemverilog中几种数组类型的基础知识
  12. create报错不是函数_node.js – sequelize .create不是函数错误
  13. 关于极化码Polar code的笔记
  14. 论文阅读:Time2Graph+: Bridging Time Series and Graph Representation Learning via Multiple Attentions
  15. Spark3.0新特性-AQE
  16. 如何让《隐秘的角落》快速大结局?只需要一份保险......
  17. lenovo服务器换系统重装系统_thinkserver服务器怎么重装系统?
  18. CVS命令深入研究 zz
  19. IPD+CMMI+Scrum一体化研发管理解决方案之CMMI
  20. 华为鸿蒙手机曝光,华为鸿蒙手机新特性曝光:充电期间系统将进行深度优化

热门文章

  1. 手机开发APP整体界面设计工具之墨刀---没用过就知道它很牛掰
  2. 文本预处理:词袋模型(bag of words,BOW)、TF-IDF
  3. Word如何让脚注不分栏
  4. 天龙八部八部显示服务器堵塞,天龙八部服务端各目录说明
  5. ThinkPHP5分页样式
  6. BUCK电路、BOOST电路,为其设计电压电流双闭环调节器,实现系统阶跃响应
  7. Flappy Bird游戏——Python
  8. 【机器学习】gini系数的计算
  9. 信息安全技术——(九)基于MATLAB数字水印系统设计
  10. 网站备案必须有服务器吗,域名备案必须有服务器吗