python中国大学排名爬虫写明详细步骤-【Python爬虫】从html里爬取中国大学排名...

from bs4 import BeautifulSoup

import requests

import bs4 #bs4.element.Tag时用的上

#获取网页页面HTML

def getHTMLText(url):

try:

r = requests.request("get", url,timeout=30)

r.raise_for_status() #如不是200报错

r.encoding = r.apparent_encoding #猜测编码然后赋予给解码 编码模式

demo = r.text

soup = BeautifulSoup(demo, "html.parser") #做汤

return soup

except:

return ""

#分析并返回列表

def fillUnivList(ulist,html):

soup = html

for tr in soup.find("tbody").children: #从汤里找tbody标签的儿子遍历

if isinstance(tr,bs4.element.Tag): #如果标签是标签名字

tds = tr("td") #寻找tr里所有td列表,然后赋予tds

ulist.append([tds[0].string,tds[1].string,tds[3].string]) #加入013号

pass #???

#打印表格

def printUnivList(ulist,num):

tplt = "{0:^10} {1:{3}^8} {2:^10}" #模板

print(tplt.format("排名","学校名称","总分",chr(12288))) #3号中文空格

for i in range(num):

u = ulist[i] #列表中的0是一个拥有三个元素的列表

print(tplt.format(u[0], u[1], u[2],chr(12288))) #拥有三个元素的列表按模板打印

print("Suc" + str(num))

#主函数

def main():

uinfo = [] #创建一个列表

url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html"

html = getHTMLText(url)

fillUnivList(uinfo,html)

printUnivList(uinfo,20) #打印20个大学

main()

原文地址:https://www.cnblogs.com/naraka/p/8998107.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值