天天看点

第一次大作业

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