天天看點

第一次大作業

1.作業①:

要求:用urllib和re庫方法定向爬取給定網址(​​https://www.shanghairanking.cn/rankings/bcsr/2020/0812​​ )的資料。

輸出資訊:

2020排名 全部層次 學校類型 總分
1 前2% 中國人民大學 1069.0
2......

1)代碼:

​​https://gitee.com/wjz51/wjz/blob/master/project_1/1_1.py​​

實驗結果:

第一次大作業

2)心得體會:

下述主要是關于正規表達式相關的體會,實驗過程中在這方面耗時較久

re可以使用正規表達式(.*?),(.*?)對要比對内容不做要求,更友善

例如(\s*.*?\s*)

re也可以使用比對内容相對應的正規表達式

例如 data-v-b80b4d60>([\u2E80-\u9FFF]+)

上面比對的就是中文字元,如“清華大學”

注意:其中的\s* 比對空格或換行符

檢查正規表達式是否比對正确

我使用的軟體是 Match Tracer

第一次大作業

下載下傳位址:

​​http://www.regexlab.com/zh/mtracer/download.htm​​

2.作業②:

要求:用requests和Beautiful Soup庫方法設計爬取https://datacenter.mee.gov.cn/aqiweb2/ AQI實時報。

序号 城市 AQI PM2.5 SO2 No2 Co 首要污染物
北京 55 6 5 225

1)代碼:

​​https://gitee.com/wjz51/wjz/blob/master/project_1/1_2.py​​

第一次大作業

主要是對網頁爬取運用BeautifulSoup進行了解如下:

第一次大作業

由上圖可以看出'tbody'作為各城市相關資訊的父節點

'tr'作為單個城市相關資訊

'td'則是相關污染資訊

對'td'進行選擇即可

3.作業③:

要求:使用urllib和requests和re爬取一個給定網頁(​​https://news.fzu.edu.cn/)爬取該網站下的所有圖檔​​

3.1 requests和re

​​https://gitee.com/wjz51/wjz/blob/master/project_1/1_3_1.py​​

運作結果:

第一次大作業

3.2 urllib和re

​​https://gitee.com/wjz51/wjz/blob/master/project_1/1_3_2.py​​

第一次大作業

經過閱讀HTML檔案發現照片格式為<img src="(.*?)"

第一次大作業

注意加入“​​http://news.fzu.edu.cn​​”才算正确的位址,如果不知道照片連結具體是什麼,可以打開一個圖檔複制其網址檢視

對部分函數進行說明:

函數:urllib.urlretrieve(url, filename, reporthook, data)

參數說明:

url:外部或者本地url