python最新中國大學排名定向爬蟲2020

2021-10-13 13:21:40 字數 2461 閱讀 6113

python中國大學排名定向爬蟲2020

1. 爬取**為:作為學習中的第乙個爬蟲,網上也有很多大學排名的**,不過很多都不正確。主要就是在學校名稱的td標籤**現了變化

class

="align-left"

data-v-2a8fd7e4

>

href

="/institution/shanghai-university-of-finance-and-economics"

data-v-2a8fd7e4

>

上海財經大學a

>

style

="display

:none

" data-v-2a8fd7e4

>

p> td

>

可以發現,在標籤中,學校名稱多了乙個< a href>這個注釋,這兩部分需要進一步處理。

2. 完整**如下:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

# @date : 2020-12-22 18:45:14

# @author : ericray

# @email : [email protected]

# @link :

# @description: 定向爬蟲實列-2020中國大學排名

import requests

from bs4 import beautifulsoup

import bs4

import re

defgethtmltext

(url)

:try

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

r.raise_for_status(

) return r.text

except

:return

"something is wrong about the url conetents!"

# 在td標籤中提取a標籤,並去掉注釋標籤

deffillunivlist

(ulist, html)

: html1 = re.sub('',

"", html)

.replace(

'\n',""

)# 正規表示式去掉注釋、換行

soup = beautifulsoup(html1,

"html.parser"

)for tr in soup.find(

'tbody'

).children:

ifisinstance

(tr, bs4.element.tag)

: tds = tr(

'td'

) td1 = tr(

'a')

# print(tds)

[tds[0]

.string, td1[0]

.string, tds[2]

.string, tds[4]

.string]

)# print(tds[1].string)

defprintunivlist

(ulist, num)

: tpl =

"\t^10}\t\t"

# ^10} 1表示位置,表示用第4個引數來填充,^表示居中,10表示佔10個位置

print

(tpl.

format

("排名"

,"學校名稱"

,"所屬省市"

,"總分"

,chr

(12288))

)for i in

range

(num)

: u = ulist[i]

# print(u)

print

(tpl.

format

(u[0

].strip(

), u[1]

.strip(

), u[2]

.strip(

), u[3]

.strip(),

chr(

12288))

)def

main()

: uinfo =

url =

''html = gethtmltext(url)

fillunivlist(uinfo, html)

printunivlist(uinfo,20)

# 20 univs

if __name__ ==

"__main__"

: main(

)

爬蟲中國大學排名

from pip.vendor import requests print 訪問谷歌 獲取response物件 r requests.get x 1 while x 20 print 第 str x 次的返回狀態列印 str r.status code print 第 str x 次的text 列印...

Python爬蟲 中國大學排名爬蟲

案例 import requests from bs4 import beautifulsoup import bs4 def gethtmltext url 爬取最好大學排名 內容 try r requests.get url,timeout 30 r.raise for status retur...

Python之爬蟲 中國大學排名

usr bin env python coding utf 8 import bs4 import requests from bs4 import beautifulsoup 通過傳入 資訊建立乙個獲取網頁文字的函式 def gethtmltext url 判斷獲取網頁文字過程中是否有錯誤 try...