自学Python:爬取网页里的内容

作者: 小强聊成长 | 来源:发表于2021-08-14 13:07 被阅读0次

以下面的网址为例:http://www.gaosan.com/gaokao/196075.html

内容如图

爬取大学的排名并且输出。输入代码:

import requests

from bs4 import BeautifulSoup

import bs4

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:

        if isinstance(tr, bs4.element.Tag):

            tds = tr('td')

            ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])

def printUnivList(ulist, num):

    tplt = "{0:^10}\t{1:^10}\t{2:^10}\t{3:^10}"

    print(tplt.format("排名", "学校名称", "总分","星级", chr(12288)))#chr(12288)是指定中文空格补齐

    for i in range(num):

        u = ulist[i]

        print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))

def main():

    uinfo = []

    url = 'http://www.gaosan.com/gaokao/196075.html'

    html = getHTMLText(url)

    fillUnivList(uinfo, html)

    printUnivList(uinfo, 100)  #指定访问前100

main()

查看结果如下:

_______________END______________

相关文章

网友评论

    本文标题:自学Python:爬取网页里的内容

    本文链接:https://www.haomeiwen.com/subject/ucffbltx.html