院士(Academician)源于Academy, Academy是古希腊传说中的一位拯救雅典免遭劫难而牺牲的英雄,属于科学及学术界的最高荣誉头衔。哪里盛产生院士?python爬虫告诉你。
背景调研
目前中国院士共有1500余人,其中科学院院士799人,工程院院士875人。
科学院院士名单 http://www.casad.cas.cn/chnl/371/index.html
工程院院士名单 http://www.cae.cn/cae/html/main/col48/column_48_1.html
这里我以工程院院士信息抓取进行讲解。
工程院士出生地分布图
请输入图片描述
必备模块
pip 安装模块教程参见这里。HOW2PY[09] Windows中如何如何快速简单安装python模块
- 通过 pip 安装scrapy 爬虫框架模块
- 通过 pip 安装 jieba 分词模块
- 通过 pip 安装win32api
如果报ImportError: DLL load failed: 找不到指定的模块。 安装好后,把 D:\Python27_64\Lib\site-packages\pywin32_system32下的所有东西拷贝到C:\Windows\System32下面
爬虫流程
在E盘下面建立文件夹project_scrapy,
- 建立爬虫项目 在E盘下面建立文件夹project_scrapy,进入该文件夹下面,打开cmd窗口,然后运行下面的命令搭建爬虫框架。 scrapy startproject engaca_spider 目录树如下:
E:\project_scrapy>tree /f
- 设置输出内容 在items.py 中添加如下内容
# -*- coding: utf-8 -*-
- 在settings.py 中设置爬虫源头
在settings.py 文件添加如下语句
starturl = 'http://www.cae.cn/cae/html/main/col48/column_48_1.html'
- 省份列表文件 scrapy.cfg的同层文件夹中存放pro_list.txt
链接:https://pan.baidu.com/s/1brg0MIz 密码:selo
- 爬虫核心代码 在spiders文件夹下面建立 aca_spider.py
#!python
- 结果输出代码 在pipelines.py 处理输出内容,可以把内容保存到数据库或者文本中。 这里我直接保存到文本result.txt中。
# -*- coding: utf-8 -*-
- 在settings.py指定输出管道
ITEM_PIPELINES = {
运行爬虫
在这个目录scrapy.cfg的同层文件夹下打开cmd窗口运行爬虫,在该目录下生成结果文件result.txt。
利用pycharts进行数据可视化
参照教程,绘制地图热图。matplotlib[05]——微信好友的全国分布的热图
从这张图上,我们可以看出江苏院士最多,超过100人,人杰地灵当之无愧。
项目所有文件
链接:https://pan.baidu.com/s/1smligBN 密码:jdst
总结
这是最基本也是最重要的爬虫练习。里面没有涉及到JS加密、反爬措施。借助这个练习,可以熟悉爬虫框架。 数据预测未来,做事先人一步。