一、用requests庫的get()函式訪問必應主頁20次,列印返回狀態,text()內容,計算text()屬性和content屬性所返回網頁內容的長度。
**如下:
import這是訪問一次的結果:requests
for i in range(20):
r = requests.get("
",timeout=30)
print("
狀態 = {}
".format( r.status_code))
print("
text編碼方式 = {}
".format(r.encoding))
print("
text屬性 = {}
".format(r.text))
print("
二進位制形式 = {}
".format(r.content))
狀態 = 200
text編碼方式 = iso-8859-1
text內容 =
二進位制形式 = b'\n\n \n google\n\n \n \n
\n \n
我的第乙個段落。"1
">
row 1, cell 1
row 1, cell 2
row 2, cell 1
row 2, cell 2
a.列印head標籤內容和學號後兩位
b.獲取body標籤的內容
c.獲取id為first的標籤物件
d.獲取並列印html頁面中的中文字元
**如下:
import結果如下:requests
from bs4 import
beautifulsoup
soup = beautifulsoup("
\ \
我的第乙個段落。
\ row 1,cell 1\
row 1,cell 2
row 2,cell 1\
row 2,cell 2")
print(soup.head,"
39") #
獲取並列印head標籤的內容和學號後兩位
print(soup.body) #
獲取並列印body的內容
print(soup.find_all(id="
first
")) #
獲取並列印id為first的文字
print(soup.h1.string,soup.p.string) #
獲取並列印html頁面中的中文字元
三、爬取中國大學排名2019
**如下:
import執行結果如下:requests
from bs4 import
beautifulsoup
alluniv=
defgethtmltext(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding='
utf-8
'return
r.text
except
:
return
""def
fillunivlist(soup):
data=soup.find_all('tr'
)
for tr in
data:
ltd=tr.find_all('td'
)
if len(ltd)==0:
continue
singleuniv=
for td in
ltd:
defprintunivlist(num):
print("
^10}^6}^4}^10}
".format(chr(12288),"
排名","
學校名稱
","省市
","總分
","培養規模"))
for i in
range(num):
u=alluniv[i]
print("
^10}^5}^8}^10}
".format(chr(12288),u[0],u[1],u[2],u[3],u[6]))
defmain(num):
url='
'html=gethtmltext(url)
soup=beautifulsoup(html,"
html.parser")
fillunivlist(soup)
printunivlist(num)
main(10)
第乙個 爬蟲和測試
1.爬蟲 如下 import requests def gerhtmltext url try r requests.get url,timeout 1 r.raise for status r.encoding utf 8 return r.text except return 訪問錯誤 url ...
第乙個爬蟲和測試
一 用之前學過的try except進行除錯 測試球賽的gameover函式 可以看到是正確的,我們也可以試一試其他的數字比例。在這裡就不一一試了。requests庫是乙個簡潔且簡單的處理http請求的第三方庫。get 是對應與http的get方式,獲取網頁的最常用方法,可以增加timeout n ...
第乙個爬蟲和測試
1.測試球賽程式中的所有函式 import random from math import def printintro 列印程式的介紹性資訊 print 模擬桌球競賽 print 學號23 print 程式執行需要a和b的能力值 以0到1之間的小數表示 def getinputs 獲得使用者輸入的...