中国大学排名定向爬虫的
设计和实现
一、环境安装:
1.选择一个适合自己的IDE(以下代码用Jupyter Notebook编写)
2.打开cmd,安装requests库和beautifulsoup4库:
tip
1
其中,导入requests库是需要用其requests.get()函数来返回爬虫的全部内容。下面给出爬取网页的通用代码框架,有兴趣的同学可以带入url测试,注意有些网页可能有反爬策略,因此爬取可能不会成功。可用上述给出的大学排名网站进行测试:
tip2
其中,导入beautifulsoup4库是需要用其BeautifulSoup()函数来解析爬虫返回的内容。下面给出实现html页面的解析的通用代码框架:
二、案例功能描述
三、程序的结构设计
选择用三个基本函数和一个主函数来编写代码
主函数为:main( )
基函数1:从网络上获取大学排名网页内容:定义函数getHTMLText( )
基函数2:提取网页内容中的信息到合适的数据结构--二维列表:定义函数fillUnivList( )
基函数3:利用数据结构展示并输出结果:定义函数printUnivList( )
四、具体代码
导入包:
定义基本函数:
定义主函数:
运行结果
五、实例优化
对于上述输出结果,我们发现学校名称的中文字符的对齐效果不好,这是由于输出内容超过设定的输出宽度。当中文字符宽度不够时,采用英文字符填充,但中英文字符占用宽度不同,于是出现了对不齐的现象。
中文对齐问题的解决:采用中文字符的空格填充chr(12288)
下面只需要对printUnivList()函数进行更改:
修改后输出:
如果喜欢我的文章,请转发。萨瓦迪卡!
People always say that it's too late.
However, in fact, now is the best appropriate time. For a man who really wants to seek for something, every period of life is younger and timely.
扫码加入机器学习小组,一起分享学习点滴
领取专属 10元无门槛券
私享最新 技术干货