功能:
輸出:大學排名資訊的螢幕輸出(排名,大學名稱,總分)
技術路線:requests-bs4
定向爬蟲:僅對輸入的url進行爬取,不擴充套件爬取
步驟:1.從網路上獲取大學排名網頁內容
2.提取網頁中資訊到合適的資料結構
3.利用資料結構展示並輸出結果
程式的結構設計:
1. 從網路上獲取大學排名網頁內容
gethtmltext()
2. 提取網頁內容中資訊到合適的資料結構
fillunivlist()
3. 利用資料結構展示並輸出結果
printunivlist()
**:
#-*-coding:utf-8-*-結果:import requests
from bs4 import beautifulsoup
import bs4
def
gethtmltext()
try:
r = requests.get(url,
timeout = 30)
r.raise_for_statys()
return r.text
except:
return
""def
fillunivlist(ulist,html):
soup = beautifulsoup(html,
"html.parser")
for tr in soup.find('tbody').childen:
if isinstance(tr,bs4.element.tag)
tds = tr('td')
def
printunivlist(ulist,num):
print("
\t\t
".format("排名", "學校名稱", "總分"))
for i in range(num):
u = ulist[i]
print("
\t\t
".format(u[0],u[1],u[2]))
def
main():
uinfo =
url = ''
html =gethtmltext(url)
fillunivlist(uinfo,html)
printunivlist(uinfo,
20) # 20所
中文對齊問題的原因:
當中文字元寬度不夠時,採用西文字元填充;西文字元占用寬度不同
採用中文字元的空格填充chr(12288)
優化後:
#crawunivrankinga.py
import
requests
from
bs4
import
beautifulsoup
import
bs4def
gethtmltext(url):
try:r =
requests.get(url, timeout=30
)r.raise_for_status()
r.encoding
=return
r.text
except
:return
""def
fillunivlist(ulist, html):
soup
=beautifulsoup(html,
"html.parser"
)for
tr in
soup.find(
'tbody'
).children:
ifisinstance
(tr, bs4.element.tag):
tds
=tr(
'td')0
].string, tds[
1].string, tds[
3].string])
defprintunivlist(ulist, num):
("\t\t"
.format
("排名"
,"學校名稱"
,"總分"
))for
i in
range
(num):u=
ulist[i]
("\t\t"
.format
(u[0
],u[
1],u[
2]))
defmain():
uinfo =
url
=''html
=gethtmltext(url)
fillunivlist(uinfo, html)
printunivlist(uinfo,
20)
# 20 univs
main()
中國大學排名定向爬蟲例項
第乙個大學 第n個大學 import requests from bs4 import beautifulsoup import bs4 def gethtmltext url 輸入url,返回html try r requests.get url,timeout 30 r.raise for st...
爬蟲 中國大學排名定向爬蟲例項
最好大學排名 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 bs4只能獲取靜態url資訊 步驟1 從網路上獲取大學排名網頁內容 定義gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 定義fi...
中國大學排名定向爬蟲
功能描述 輸入 大學排名url鏈結 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 程式的結構設計 步驟1 從網路上獲取大學排名網頁內容 gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 fi...