用requests bs4庫爬取各地大學高校排名

2021-09-27 11:49:07 字數 1511 閱讀 9004

import requests

from bs4 import beautifulsoup

import bs4

defgethtmltext

(url)

:#提取

try:

#爬取網頁的通用**框架

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

r.raise_for_status(

) return r.text

except

:return

'爬取失敗'

deffillunivlist

(ulist,html)

:#儲存關鍵資訊

soup = beautifulsoup(html,

'html.parser'

)#煲湯準備 (解析器)

for tr in soup.find(

'tbody'

).children:

#從tbody的兒子節點

ifisinstance

(tr,bs4.element.tag)

:#判斷tr標籤的型別是否是標籤型別

tds = tr(

'td'

)#將所有的td標籤存入tds列表中相當於tr.find_all('td')

if tds[2]

.string ==

'山東'

:[tds[0]

.string,tds[1]

.string,tds[2]

.string,tds[3]

.string]

)## pass

defprintunivlist

(ulist)

:#列印

print

(len

(ulist)

)print

('\t^10}\t\t'

.format

('排名'

,'學校名稱'

,'省份'

,'總分'

,chr

(12288))

)for i in

range

(len

(ulist)):

u = ulist[i]

print

('\t^10}\t\t'

.format

(u[0

],u[1]

,u[2

],u[3]

,chr

(12288))

)def

main()

:

uinfo =

url =

''html = gethtmltext(url)

#呼叫提取函式

fillunivlist(uinfo,html)

#呼叫儲存關鍵資訊函式

printunivlist(uinfo)

#呼叫列印函式

main(

)

爬取獵聘網職位 requests bs4

本人傾向於用bs4匹配,資料量不大,怎麼簡單怎麼來了 最後寫入json檔案import requests import json from bs4 import beautifulsoup url defget page 獲取頁數 職業 page input 請輸入頁數 job input 請輸入職...

requests bs4使用(post方式)

現在很多 都會用到前後端分離的開發策略,前端只是負責渲染,資料通過其他路由去獲取,比如如果你直接用get方式請求這個網頁的話是獲取不到主要內容的 比如這個例子中 中的資料 因為沒有執行他請求資料的js,提示可以通過chrom瀏覽器network觀察他真實請求資料的url,這裡用了一種非同步的技術。真...

用Request爬取實戰

如果想要在請求的時候增加一些請求頭,用request.request。比如要增加乙個user agent 在拉勾網的職業資訊通過另外的 再通過js嵌入到主頁面的html 當中的 真正的職業資訊 在json.cn中解碼得 請求頁面,還有請求方式為post from urllib import requ...