zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    java Semaphore的介绍和使用
    java CyclicBarrier的介绍和使用
    java CountDownLatch 使用介绍
    android模拟器不能上网设置
    计算几何题集
    BZOJ1004: [HNOI2008]Cards
    BZOJ1029: [JSOI2007]建筑抢修
    BZOJ1037: [ZJOI2008]生日聚会Party
    BZOJ1083: [SCOI2005]繁忙的都市
    Java开发笔记(一百一十四)利用Socket传输文本消息
  • 原文地址:https://www.cnblogs.com/liberate20/p/10779464.html
Copyright © 2011-2022 走看看