ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

菜鸡爬虫入门——爬取全国大学排名

2021-02-02 10:01:38  阅读:190  来源: 互联网

标签:string 大学排名 tr 爬取 tds bs4 html 菜鸡 ulist


思路:

1.先获得url链接的html
2.再用BeautifulSoup库将html解析,在tbody中寻找tr,其中利用isinstance函数把不是标签类型的给剔除,然后把td存放到ulist列表里
3将ulist列表打印出来
三步思路对应着三个函数

代码:

import requests
from bs4 import BeautifulSoup
import bs4
def getHTMLText(url):
    try:
        r=requests.get(url)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        print("错误")
    

def fillUnivList(ulist,html):
    soup=BeautifulSoup(html,"html.parser")
    for tr in soup.find('tbody').children:
        if isinstance(tr,bs4.element.Tag):
            tds=tr('td')
            ulist.append([tds[0].string,tds[1].string,tds[3].string])

def printUnivList(ulist,num):
    
    tplt = "{0:<10}\t{1:<69}\t{2:{3}^20}"
    print("{0:<10}\t{1:<68}\t{2:{3}^20}".format("排名","学校名称","总分",chr(12288)))
    for i in range(num):
        u = ulist[i]
        print(tplt.format(u[0],u[1],u[2],chr(12288)))


def main():
    uinfo=[]
    url="https://m.university-list.net/paiming/dx-160001.html"
    html=getHTMLText(url)
    fillUnivList(uinfo,html)
    printUnivList(uinfo,20)
main()

结果:

在这里插入图片描述

标签:string,大学排名,tr,爬取,tds,bs4,html,菜鸡,ulist
来源: https://blog.csdn.net/dsp1234566/article/details/113539056

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有