题目
使用urllib模块编程实现爬取网站的大学排名。
(网址:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html)
(1)获取网站页面,分析代码结构特征;
(2)处理页面,提取相关信息;
(3)解析数据,输出结果。
代码实现
Python3
import urllib.request
import re
# 获取指定url的源码信息
def getHTMLText(url):
try:
response = urllib.request.urlopen(url, timeout=30)
html = response.read().decode('utf-8')
return html
except:
return "access the web error!"
return ""
# 根据具体结构匹配需要的排名信息,最终以列表的形式返回
def fullTextToSchoolList(html):
# 正则匹配所有学校名称
reg2 = r'<td><div align="left">(.*?)</div></td>'
# 匹配排名信息
reg = r'<td>(.*?)</td>'
reg = re.compile(reg)
reg2 = re.compile(reg2)
ulists=re.findall(reg,html)
unames=re.findall(reg2