博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中国大学排名定向爬虫
阅读量:7227 次
发布时间:2019-06-29

本文共 1310 字,大约阅读时间需要 4 分钟。

import requestsfrom bs4 import BeautifulSoupimport bs4                                                       #Tag类型判断是需要用到这里的库def getHTMLText(url):    try:        r = requests.get(url,timeout = 30)        r.raise_for_status()        r.encoding = r.apparent_encoding        return r.text    except:        return '产生异常'def fillUnivList(ulist, html):    soup = BeautifulSoup(html,'html.parser')    for tr in soup.find('tbody').children:                        #所有的排名信息包含在这个tbody的标签中        if isinstance(tr, bs4.element.Tag):                       #每个大学的排名信息单独一个独立的tr标签中,它是tbody标签的子标签            tds = tr('td')            ulist.append([tds[0].string, tds[1].string, tds[3].string])def printUnivList(ulist, num):    tplt='{0:^10}\t{1:{3}^10}\t{2:^10}'                           #{3},代表用format的第四个变量填充没用完的位置 即chr(12288)    print(tplt.format('排名','学校名称','分数',chr(12288)))    for i in range(num):                                          #ulist是一个二维数组        u = ulist[i]        print(tplt.format(u[0],u[1],u[2],chr(12288)))def main():    uinfo = []    url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'    html = getHTMLText(url)    fillUnivList(uinfo, html)    num = 20    printUnivList(uinfo, num)main()

 requests库和bs4库共同作用。结构形式:获取网页内容——解析网页并提取信息——输出信息

转载于:https://www.cnblogs.com/wskzwsj/p/7109903.html

你可能感兴趣的文章
怎样让html加载完毕后加载js代码
查看>>
piwik 案例介绍
查看>>
敏感字过滤
查看>>
为什么我们要从 NodeJS 迁移到 Ruby on Rails
查看>>
Android 文件式数据库Realm
查看>>
Linux 面试知识点笔记
查看>>
论flex布局和box布局的华为meta8手机自带浏览器的兼容
查看>>
dubbo与springcloud初识
查看>>
iis web.config 配置示例
查看>>
归并排序
查看>>
java 的转义字符
查看>>
SharedPreferences的使用注意事项
查看>>
sofa-pbrpc高级用法
查看>>
Oracle 函数返回表实例2种写法实例
查看>>
mysql数据库主从复制
查看>>
Shell标准输出、标准错误 >/dev/null 2>&1
查看>>
Android自定义对话框(Dialog)位置,大小
查看>>
设置python的默认编码为utf8
查看>>
简易sqlhelper-java
查看>>
通过案例对SparkStreaming 透彻理解三板斧之一:解密SparkStreaming运行机制
查看>>