一、爬虫功能描述
输入:大学排名URL链接。
输出:大学排名信息的屏幕输出(排名,大学名称,总分)。
技术路线:requests-bs4。
定向爬虫:仅对输入URL进行爬取,不扩展爬取。
二、程序设计结构
步骤1:从网络上获取大学排名网页内容
步骤2:提取网页内容中信息到合适的数据结构
步骤3:利用数据结构展示并输出结果
上述步骤又对应以下步骤:
步骤1:从网络上获取大学排名网页内容
getHTMLText()
步骤2:提取网页内容中信息到合适的数据结构
fillUnivList()
步骤3:利用数据结构展示并输出结果
printUnivList()
以上步骤为正式编写前的的程序建构,下面给出这些函数的具体接口:
def getHTMLText(url):
return ""
def fillUnvList(ulist,html):
pass
def printUnivList(ulist,num):
print("Suc" + str(num))
再给出主函数来调用这些函数:
三、具体代码编写
由前面所学知识,可得以下代码,新增的代码片段均已给出注释。
该代码的思想是:
- 获取网页内容,将网页信息转化为文本信息
- 利用bs4库对网页文本信息进行解析
- 找到存储信息的tbody标签,遍历其所有的子节点(因为子节点不一定是标签,所以还需要进行类型判断)
- 遍历每个标签类型的子节点tr时,将该标签中所有的td标签存入一个列表tds(一个tr存储一个大学的信息)
- 因为每个td标签中的string即为需要的信息,所以选择指定的td标签的string,将这些string存入一个列表a
- 将a列表再加入一个列表ulist,再重复上述过程,直到每个tr都会有一个a列表加入ulist列表
- 输出获取的信息