近日,上海软科发布了2020年中国最好大学排名。如果希望把排名前15的学校及其评价得分抓取下来以便做进一步分析,该如何使用Python实现这一点呢?
具体代码如下:
import requests
from bs4 import BeautifulSoup
import bs4def getHTMLText(url):try:r = (url, timeout = 10)r.raise_for_status()r.encoding = r.apparent_cept:return ""def fillUnivList(ulist,html):soup = BeautifulSoup(html, 'html.parser')# print(soup.find('tbody').children)for tr in soup.find('tbody').children:# if isinstance(tr, bs4.element.Tag):tds = tr('td')ulist.append([tds[0].text.strip('n').strip(), tds[1].text.strip('n').strip(), tds[4].text.strip('n').strip()])def printUnivList(ulist,num):print('{}t{:<12}t{:<10}'.format("排名","学校名称","总分"))for i in range(num):u = ulist[i]print('{}t{:<12}t{:<10}'.format(str(u[0]),str(u[1]),str(u[2])))def main():uinfo = []url = ''html = getHTMLText(url)fillUnivList(uinfo,html)printUnivList(uinfo,15)main()
输出结果如下:
本文发布于:2024-02-02 10:09:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683978443103.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |