自学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