抓取中国最好大学排名-社会声誉排名2018(request,bs4,csv)

import csv

import requests
from bs4 import BeautifulSoup

#请求头
headers={'User-Agent':"Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11"}

def getInfo(url):
    #获取页面代码
    html=requests.get(url,headers=headers).content.decode('utf-8','ignore')

    soup=BeautifulSoup(html,'lxml')

    #获取表头
    theadList=[]
    thead=soup.select('thead th')
    for head in thead:
        theadList.append(head.text)
    print(theadList)
    with open('ranking.csv', 'w') as f:
        writer = csv.writer(f)
        writer.writerow(theadList)


    #获取学校列表
    schoolList=soup.select('tr.alt')
    for school in schoolList:
        #排名
        ranking=school.select('td:nth-of-type(1)')[0].text
        #学校名称
        schoolName=school.select('td:nth-of-type(2)')[0].text
        #省市
        schoolAddress=school.select('td:nth-of-type(3)')[0].text
        #社会捐赠收入(千元)
        socialIncome = school.select('td:nth-of-type(4)')[0].text
        #综合排名
        compreRanking=school.select('td:nth-of-type(5)')[0].text
        if len(compreRanking)==0:
            compreRanking='暂无数据'

        data=[ranking,schoolName,schoolAddress,socialIncome,compreRanking]
        print(data)

        #写入csv
        with open('ranking.csv','a+') as f:
            writer=csv.writer(f)
            writer.writerow(data)


if __name__ == '__main__':
    url='http://www.zuihaodaxue.com/shehuishengyupaiming2018.html'
    getInfo(url)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值