訪問一些政府網站並獲取網頁
根據需求解析出其中的政策性文件以需求的數據
保存到本地,如果失敗則記錄在日誌中
github: https://github.com/hailinli/crawGovData/
一、需求介紹(示例南京)
需求介紹見文檔https://github.com/hailinli/crawGovData/tree/master/data/%E9%9C%80%E6%B1%82
下面爲一個市的需求示例
進入政府(部門)官網 http://www.nanjing.gov.cn/index.html 找出其中的政府文件欄目,一般在信息公開中
進入政府文件網站http://www.nanjing.gov.cn/xxgk/szf/?id=47493紅色畫圈部分爲需要採集的文章。
採集範圍爲:市政府文件、市政府辦公廳文件、部門文件、區文件進入文章頁面
將網頁其中的部分內容爬取存儲到本地TXT(名稱爲文件標題)
需採集網頁URL、文件信息、文件內容
將網頁中的文件下載存儲到相應文件夾中,以文章標題命。
具體參考示例
- 網頁中有下載鏈接或者附件的也需下載到相應的文件夾中
二、代碼
源代碼: https://github.com/hailinli/crawGovData/
- https://github.com/hailinli/crawGovData/blob/master/crawBase.py 爬蟲基類,主要用於下載網頁(包括啓動瀏覽器下載和程序下載網頁),下載圖片,獲取某html標籤的文字內容,下載某大標籤的所有文字。
- https://github.com/hailinli/crawGovData/blob/master/log.py 日誌類,主要用於寫日誌,用於保存程序運行過程所需日誌,運行後日志保存在logs文件中,以日期命名。
- craw****.py 主要對應於具體某市網站的網站數據抓取類。
三、 運行
cd crawGovData/
python craw****.py # craw****.py 指具體的某市網站數據抓取類
如爬取太原市的數據
cd crawGovData/crawTaiyuann/
python crawTaiyuan.py
python crawTaiyuanFgw.py
python crawTaiyuanWjw.py
...
python crawTaiyuanjxw.py
環境
- python3
- requests2.18
- lxml4.2