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