Python大佬批量爬取中國院士信息,告訴你哪個地方人杰地靈

院士(academician)一詞源自古希臘傳說中的英雄academy,這位英雄為了拯救雅典而犧牲,是科學及學術(shù)界的最高榮譽頭銜。要了解中國院士的分布情況,我們可以借助python爬蟲來獲取詳細信息。

背景調(diào)研

目前,中國院士總數(shù)超過1500人,其中科學院院士799人,工程院院士875人。

本文將以工程院院士信息的抓取為例進行詳細講解。

工程院士出生地分布圖

立即學習Python免費學習筆記(深入)”;

Python大佬批量爬取中國院士信息,告訴你哪個地方人杰地靈

必備模塊

通過pip安裝以下模塊:

  • scrapy爬蟲框架模塊
  • jieba分詞模塊
  • win32api

如果遇到ImportError: DLL load failed: 找不到指定的模塊錯誤,請將D:python27_64Libsite-packagespywin32_system32下的所有文件復(fù)制到C:windowsSystem32目錄下。

爬蟲流程

  1. 建立爬蟲項目:在E盤下創(chuàng)建project_scrapy文件夾,進入該文件夾并打開cmd窗口,運行以下命令搭建爬蟲框架:

    scrapy startproject engaca_spider

    目錄樹如下:

    E:project_scrapy>tree /f
  2. 設(shè)置輸出內(nèi)容:在items.py中添加如下內(nèi)容:

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

    在settings.py中設(shè)置爬蟲源頭,添加以下語句:

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

  4. 爬蟲核心代碼:在spiders文件夾下創(chuàng)建aca_spider.py文件,添加以下代碼:

    # -*- coding: utf-8 -*-
  5. 結(jié)果輸出代碼:在pipelines.py中處理輸出內(nèi)容,可以將內(nèi)容保存到數(shù)據(jù)庫或文本文件中。這里直接保存到result.txt中:

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

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

    ITEM_PIPELINES = {     # ... }
  6. 運行爬蟲:在scrapy.cfg的同層文件夾下打開cmd窗口,運行以下命令:

    scrapy crawl EngAca

    結(jié)果文件result.txt將生成在該目錄下。

數(shù)據(jù)可視化

利用pycharts進行數(shù)據(jù)可視化,參照教程繪制地圖熱圖。根據(jù)生成的熱圖,我們可以看出,江蘇省的院士數(shù)量最多,超過100人,確確實實是一個人杰地靈的地方。

Python大佬批量爬取中國院士信息,告訴你哪個地方人杰地靈

項目所有文件

所有項目文件的鏈接:https://www.php.cn/link/4b12d1170b1c520116d2b7987dd47140,密碼:jdst

總結(jié)

這是一個基礎(chǔ)且重要的爬蟲練習,涉及到的內(nèi)容沒有JS加密和反爬措施。通過這個練習,可以熟悉爬蟲框架的使用。數(shù)據(jù)預(yù)測未來,掌握這些技能可以讓我們在做事時先人一步。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊9 分享