爬虫第一课

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

 
 

猜你喜欢

转载自blog.csdn.net/susuxuezhang/article/details/79134476
今日推荐