2020風月最新python爬中國大學排名 賀院

2021-10-12 12:26:47 字數 1994 閱讀 6159

import  requests

from bs4 import beautifulsoup

import bs4

alluniv=

#全部大學的資訊

deffindtd

(soup)

:#獲取資訊

for tr in soup.find(

'tbody'

).children:

#查詢tbody的全部子結點即是tr標籤

ifisinstance

(tr,bs4.element.tag)

:#排除不是tag標籤的

tdall=tr.find_all(

'td'

) a=tdall[1]

.find(

'a')

.string.strip(

)#d大學名字

b=tdall[0]

.contents[0]

.strip(

)#排名

c = tdall[2]

.contents[0]

.strip(

)#省份

d = tdall[3]

.contents[0]

.strip(

)#型別

f = tdall[4]

.contents[0]

.strip(

)# 總分

e = tdall[5]

.contents[0]

.strip(

)#辦學層次

[b,a,c,d,f,e]

)#乙個學校的資訊 存入總資訊 列表的乙個元素即乙個學校的資訊

'''def printallun(num):

print("".format("排名","學校名稱","省市","型別","總分","辦學層次"))

for i in range(num):

u=alluniv[i]#單個學校的資訊

print("".format(u[0],u[1],u[2],u[3],u[4],u[5]))

'''def

printallun

(num)

:#格式化輸出

print

("\t\t\t\t\t"

.format

("排名"

,"學校名稱"

,"省市"

,"型別"

,"總分"

,"辦學層次"

,chr

(12288))

)for i in

range

(num)

: info=alluniv[i]

print

("\t\t\t\t\t"

.format

(info[0]

, info[1]

, info[2]

,info[3]

,info[4]

,info[5]

,chr

(12288))

)def

gethtmltext

(url)

:#請求網頁 並獲取源**

try:

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

r.raise_for_status(

) r.encoding=

'utf-8'

return r.text

except

:return

''def

main

(num)

:#主函式

url=

''html=gethtmltext(url)

soup=beautifulsoup(html,

'html.parser'

) findtd(soup)

printallun(num)

main(

10)

2023年最新Python開發的高階技巧,面試必學

如果使用with,可以簡化為兩行 自定義上下文管理器確實很方便,但是python標準庫還提供了更易用的上下文管理器工具模組contextlib,它是通過生成器實現的,我們不必再建立類以及 enter 和 exit 這兩個特殊的方法 2.total ordering。對比自定義物件需要新增 lt le...

爬取最新疫情資料

題目 程式設計爬取每日最新的疫情統計資料。並將爬取結果匯入到資料庫中。將視覺化結果與統計資料結合,實時顯示當前最新資料。這次的作業與上次周的視覺化可以整合成乙個完整的 只需要在這次加上python爬取資料即可 爬取的 如下 1 from os import path 2import requests...

2020最新最全Python面試題整理(五)

1 描述一下scrapy框架的執行機制?2 寫爬蟲使用多程序好,還是用多執行緒好?3 常見的反爬蟲和應對方法?基於使用者行為,同乙個ip段時間多次訪問同一頁面 利用 ip,構建ip池 請求頭里的user agent 構建user agent池 作業系統 瀏覽器不同,模擬不同使用者 動態載入 抓到的資...