欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python爬虫(2),爬取中国大学信息。

程序员文章站 2022-03-27 13:01:28
中国大学哪家好,python爬虫都知晓。简单实例。获取中国大学排名等信息,爬取并写入excel。...

中国大学哪家好,
python爬虫都知晓。(强行押韵)
今天写一篇爬虫,获取2016年中国大学排名和其他的信息,并保存到excel中。地址
观察网站本尊。

python爬虫(2),爬取中国大学信息。
python爬虫(2),爬取中国大学信息。
python爬虫(2),爬取中国大学信息。
发现有用信息,这是我们想要得到的。右击审查元素。
python爬虫(2),爬取中国大学信息。排名在tr标签中,其他信息在他的子标签中。只要获取标签中的text即可,这样简单点的标签,beautifulsoup库可以很快获取信息。
上代码

import requests
from bs4 import BeautifulSoup
import bs4
import openpyxl   #写入excel的库
def get_html(url):   #获取网页html
    r=requests.get(url)
    r.encoding=r.apparent_encoding
    return r.text
def fillunivlist(ulist,html):   #找到有用信息并保存
    soup = BeautifulSoup(html,'html.parser')#不懂BeautifulSoup库可以百度一下,或者评论,我解释。
    for tr in soup.find('tbody').children: #找到所有的tbody的子标签,他的子标签就是tr标签。
        if isinstance(tr,bs4.element.Tag):   #判断是否是标签类型,因为逗得tr不是bs4.element.tag类型,也可能是str类型。
            tds=tr('td')
            ulist.append([tds[0].string,tds[1].string,tds[3].string])
    return ulist
def save_to_excel(f):  #保存到excel,如果不想保存到excel可以直接格式化输出,openpyxl参考我的“python办公excel学习”篇。
    wb=openpyxl.Workbook()
    ws=wb.active
    ws['A1']='排名'
    ws['B1']='学校名称'
    ws['C1']='评分'
    for each in f:
        ws.append(each)
    wb.save('daxue.xlsx')
def main():
    ulist = []
    url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html'
    html = get_html(url)
    f=fillunivlist(ulist,html)
    save_to_excel(f)
main()                    

python爬虫(2),爬取中国大学信息。
这样就行了。喜欢的,或者对你学习有帮助的,点个小关注(●’◡’●)。

本文地址:https://blog.csdn.net/weixin_48823483/article/details/107401658