python网络爬虫-中国大学排名定向爬虫

爬虫定向爬取中国大学排名信息

#!/usr/bin/python3
import requests
from bs4 import BeautifulSoup
import bs4 

#从网络上获取大学排名网页内容
def get_HTML_text(url):
    try:
        r=requests.get(url,    timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return '该网页请求连接失败'
        
#提取指定网页内容信息到合适的数据结构(二维列表存储信息)
def fill_university_list(list_info,html):
    count=0
    soup=BeautifulSoup(html,'html.parser')
    for tr in soup.find('tbody').children:
        if isinstance(tr,bs4.element.Tag): #过滤body标签的子标签的字符串类型(非Tag类型)
            count+=1
            tds=tr('td')
            list_info.append([tds[0].string,tds[1].string,tds[2].string,tds[3].string,tds[4].string])
    return count
#利用数据结构展示并输出结果
def print_university_list(list_info,num):
    tplt='{0:^5}{1:{5}^20}{2:^17}{3:^5}{4:^18}'
    print(tplt.format('学校排名','学校名称','评分','所属类型','所在地域',chr(12288)))
    for i in range(num):
        u=list_info[i]
        print(tplt.format(u[0],u[1],u[2],u[3],u[4],chr(12288)))

if __name__=="__main__":
    list_info=[]
    url='http://www.gaokaopai.com/paihang-otype-2.html?f=1&ly=bd&city=&cate=&batch_type='
    html=get_HTML_text(url)
    num=fill_university_list(list_info,html)
    print_university_list(list_info,num)

 

posted @ 2019-04-28 14:37  假如年少有为  阅读(417)  评论(0编辑  收藏  举报