Python大佬批量爬取中国院士信息,告诉你哪个地方人杰地灵

院士(academician)一词源自古希腊传说中的英雄academy,这位英雄为了拯救雅典而牺牲,是科学及学术界的最高荣誉头衔。要了解中国院士的分布情况,我们可以借助python爬虫来获取详细信息。

背景调研

目前,中国院士总数超过1500人,其中科学院院士799人,工程院院士875人。

本文将以工程院院士信息的抓取为例进行详细讲解。

工程院士出生地分布图

立即学习Python免费学习笔记(深入)”;

Python大佬批量爬取中国院士信息,告诉你哪个地方人杰地灵

必备模块

通过pip安装以下模块:

  • scrapy爬虫框架模块
  • jieba分词模块
  • win32api

如果遇到ImportError: DLL load failed: 找不到指定的模块错误,请将D:python27_64Libsite-packagespywin32_system32下的所有文件复制到C:windowsSystem32目录下。

爬虫流程

  1. 建立爬虫项目:在E盘下创建project_scrapy文件夹,进入该文件夹并打开cmd窗口,运行以下命令搭建爬虫框架:

    scrapy startproject engaca_spider

    目录树如下:

    E:project_scrapy>tree /f
  2. 设置输出内容:在items.py中添加如下内容:

    # -*- coding: utf-8 -*-

    在settings.py中设置爬虫源头,添加以下语句:

    starturl = 'https://www.php.cn/link/d543ca8a30aea952046a5e6827cb1b73'
  3. 省份列表文件:在scrapy.cfg的同层文件夹中存放pro_list.txt文件。链接:https://www.php.cn/link/14bf6dce0a0ceb6662449793da991fb8,密码:selo

  4. 爬虫核心代码:在spiders文件夹下创建aca_spider.py文件,添加以下代码:

    # -*- coding: utf-8 -*-
  5. 结果输出代码:在pipelines.py中处理输出内容,可以将内容保存到数据库或文本文件中。这里直接保存到result.txt中:

    # -*- coding: utf-8 -*-

    在settings.py中指定输出管道:

    ITEM_PIPELINES = {     # ... }
  6. 运行爬虫:在scrapy.cfg的同层文件夹下打开cmd窗口,运行以下命令:

    scrapy crawl EngAca

    结果文件result.txt将生成在该目录下。

数据可视化

利用pycharts进行数据可视化,参照教程绘制地图热图。根据生成的热图,我们可以看出,江苏省的院士数量最多,超过100人,确确实实是一个人杰地灵的地方。

Python大佬批量爬取中国院士信息,告诉你哪个地方人杰地灵

项目所有文件

所有项目文件的链接:https://www.php.cn/link/4b12d1170b1c520116d2b7987dd47140,密码:jdst

总结

这是一个基础且重要的爬虫练习,涉及到的内容没有JS加密和反爬措施。通过这个练习,可以熟悉爬虫框架的使用。数据预测未来,掌握这些技能可以让我们在做事时先人一步。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享