这是一个爬取实习僧网站信息 [截止2017年8月8日] 的爬虫,并对爬取的结果做了一些简单的处理。

使用的工具是python,用到了requests和Beautifulsoup来进行网页爬取,jieba进行分词处理。

爬虫

这里想爬的是实习僧网站上,所有互联网相关的实习招聘信息。打开网站可以看到目录:

于是可以通过上述链接,来获取所有互联网相关实习信息的列表,我在这里只取了该实习的链接,因为仔细观察可以发现,网页上的文字爬取下来都是乱码的,这可能是使用了特殊的字体和编码的原因。

不得不说,这一招用来反爬虫还是很有效的。打开每个实习地详情页,也都存在各种乱码。

但是,如果是乱码就完全不能分析了啊。然而,毕竟是,道高一尺魔高一丈,电脑端不行,我们转战手机网页端。

然后,就欣喜地发现,wwap网站有一个专门用来传递信息的API,真是得来全不费工夫啊,直接用API,解析的功夫都省了:

其用法是http://wap.shixiseng.com/app/intern/info?uuid=实习id 前面已经通过检索,爬到了所有互联网相关的实习链接,链接里面,就包含实习id,于是,数据就很方便地爬下来了~

import requests;

from bs4 import BeautifulSoup;

source = 'http://www.shixiseng.com/interns?k=前端&p='; pages = 37;

source2 = 'http://wap.shixiseng.com/app/intern/info?uuid=';

data = [];

for i in range(1, pages+1):

try:

r = requests.get(source + str(i)); r.encoding = 'utf-8';

soup = BeautifulSoup(r.text, 'html.parser')

li = soup.find_all('div', attrs={'class':'list'});

#解析网页

for j in range(len(li)):

s = li[j]; cag = (s.find('div', attrs = {'class':'part'}).text).split(' - ')[1];

#链接:

link = s.find('div', attrs = {'class':'names cutom_font'}).find('a').attrs['href']

link = link.split('/')[2];

r2 = requests.get(source2 + link); r2.encoding = 'utf-8';

infos = eval(r2.text);

data.append(infos);

except:

print('Error!');

分词

这里做分词的目的,主要是因为爬取下来的结构化信息确实不多,于是对职位描述这个字段进行分词,用到的工具是jieba。

使用的方法也很简单,分词后,使用对结果进行分割,存储到了mysql中。

import jieba

from bs4 import BeautifulSoup;

datas = {};

for i in range(len(a)):

s = BeautifulSoup(a[i][1], 'html.parser').text;

datas[i+1] = s.replace('\xa0','');

#分词

seged = {};

for key in datas.keys():

view_bar(key, len(datas))

seg = jieba.cut(datas[key], cut_all=False)

seg = [s for s in seg];

seged[key] = seg;

seg = ''.join(seg);

后续分析

使用mysql进行查询、Excel简单地可视化。

python爬网站信息_一个爬取实习僧网站信息的爬虫相关推荐

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

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

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

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

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

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

  4. 将爬取的实习僧网站数据传入HDFS

     一.引言: 作为一名大三的学生,找实习对于我们而言是迫在眉睫的.实习作为迈入工作的第一步,它的重要性不言而喻,一份好的实习很大程度上决定了我们以后的职业规划. 那么,一份好的实习应该考量哪些因素呢? ...

  5. 爬虫实战:链家租房数据爬取,实习僧网站数据爬取

    前面已经进行了爬虫基础部分的学习,于是自己也尝试爬了一些网站数据,用的策略都是比较简单,可能有些因素没有考虑到,但是也爬取到了一定的数据,下面介绍两个爬过的案例. 爬虫实战 链家网站爬取 实习僧网站爬 ...

  6. 【python实现网络爬虫(4)】实习僧网站信息爬取(字体反爬虫破解)

    实习僧网站 实习僧网址,地址为北京,在搜索框输入"python",如下 实战解析 步骤一.建立for循环爬取前20页的内容 首先.查看翻页URL的信息,找规律 第一页:https: ...

  7. Python之网络爬虫(验证码、代理IP、防反爬策略、封装一个抓取页面的函数)

    文章目录 一.使用tesseract做OCR验证码识别 二.代理服务器设置 三.反爬与防反爬 四.封装一个抓取页面的函数 一.使用tesseract做OCR验证码识别 1.cookie, sessio ...

  8. 通过python利用Django框架搭建一个属于自己的免费网站(已更新)

    大家好,我是天空之城,今天给大家带来,通过python利用Django框架搭建一个属于自己的免费网站. 以下是网上找到的免费教程,https://djangogirlstaipei.gitbooks. ...

  9. 免费网站模版:一个黑色系的公司网站模版(flash幻灯)

    日期:2012-9-17  来源:GBin1.com 在线演示  本地下载 来源:免费网站模版:一个黑色系的公司网站模版(flash幻灯)

  10. python爬取58同城租房信息_分页爬取58同城租房信息.py

    import requests,re,openpyxl,os headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleW ...

最新文章

  1. 滑动轮播图实现最后一张图片无缝衔接第一张图片
  2. python web游戏实例_python实现的简单文本类游戏实例
  3. Counterfeit Dollar
  4. listview异步加载图片
  5. button-xml 中android:clickable=false 属性
  6. c语言随机抽取小程序_C语言整人小程序,慎用,谨记!
  7. (转)Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏
  8. react echarts 绘制带有滑块柱图
  9. Ubuntu20装Nvidia驱动--中文显示乱码问题
  10. 电影院售票系统,电影院订票系统,电影院购票管理系统计算机毕业设计
  11. lodop 使用教程之图文详解 + 详细方法/参数的配置说明
  12. Blender快捷键大全
  13. Twaver-HTML5基础学习(18)数据容器(1)_增删查改、遍历数据容器、包含网元判断
  14. 百度不显示免流量服务器,【免流】本地一键直连/百度直连/百度/直连
  15. 怦然心动(Flipped)-9
  16. element ui自定义图标
  17. 每天学一点英文:Espresso 20210811
  18. python循环语句if语句的题目_Python if语句 for语句 while循环的练习
  19. shell编程100例(附PDF下载)
  20. Thread.interrupted()与Thread.currentThread().isInterrupted()区别

热门文章

  1. unix网络编程中的fd是什么
  2. 演示文稿 Beamer 入门
  3. adb命令启动某个action_各种启动命令
  4. JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)
  5. 评估期已过.有关如何升级您的测试版软件的信息,请访问,sql server 2008 r2评估期已过。有关如何升级的测试版软件的信息...
  6. 阅读心得:JDE:Towards Real-Time Multi-Object Tracking
  7. 1602液晶指定位置光标闪烁程序
  8. Word文件批量查找替换字符串
  9. mysql 省份城市县区数据表SQL(包含经纬度)
  10. 信息安全技术——(九)基于MATLAB数字水印系统设计