python网络爬虫入门实例:中国大学排名定向爬虫

中国大学排名定向爬虫的

设计和实现

一、环境安装:

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.

扫码加入机器学习小组,一起分享学习点滴

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718G093LC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券