import requests
import time
r=requests.get("http://www.baidu.com")
print(r.status_code)#200 404
print(r.encoding)#ISO-8859-1
print(r.apparent_encoding)#utf-8
print(r.text)
print(r.headers)
def getHTMLTEXT(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return("error")
def main():
url= 'https://www.baidu.com'
starttime=time.time()
for i in range(10):
getHTMLTEXT(url)
print(i)
endtime=time.time()
print(str(endtime-starttime)+'s')
if __name__=="__main__":
main()
import requests
from bs4 import BeautifulSoup
import bs4
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return ""
def fillUnivList(ulist,html):
soup=BeautifulSoup(html,"html.parser")
for tr in soup.find('tbody').children:
if isinstance(tr,bs4.element.Tag):
tds=tr('td') #tds = tr.find_all('td')
ulist.append([tds[0].string,tds[1].string,tds[3].string])
def printUnivList(ulist,num):
tplt = "{0:^10}\t{1:{3}^20}\t{2:^10}" # {1:{3}^10} 1表示位置,{3}表示用第3个参数来填充,^表示居中,10表示占10个位置
print(tplt.format("排名","学校名称","总分",chr(12288)))
for i in range(num):
u=ulist[i]
print(tplt.format(u[0],u[1],u[2],chr(12288)))
def main():
uinfo=[]
url='http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'
html=getHTMLText(url)
fillUnivList(uinfo,html)
printUnivList(uinfo,30)
main()
排名 学校名称 总分
1 清华大学 95.9
2 北京大学 82.6
3 浙江大学 80
4 上海交通大学 78.7
5 复旦大学 70.9
6 南京大学 66.1
7 中国科学技术大学 65.5
8 哈尔滨工业大学 63.5
9 华中科技大学 62.9
10 中山大学 62.1