1、使用requests的get()函数访问必应网站20次,打印返回状态,text()内容,计算text属性和content属性所返回网页内容的长度。
代码如下:
1 import requests 2 for i in range(20): 3 r = requests.get(‘https://cn.bing.com‘, verify=False) 4 r.encoding="utf-8" 5 print(r.status_code) #返回状态 6 print(r.text) 7 r.content 8 print(len(r.text)) 9 print(len(r.content))
结果如下:
2、bs4的使用
a.打印head标签内容和学号后两位
b.获取body标签内容
c.获取id为first的标签对象
d.获取并打印html页面中的中文字符
代码如下:
1 import re 2 from bs4 import BeautifulSoup 3 file=open(‘D:/python/pythonfile/onepa.html‘,‘r‘).read() 4 soup=BeautifulSoup(file,‘html.parser‘) 5 print(soup.head,‘30‘) 6 print(soup.body) 7 print(soup.find_all(id="first")) 8 print(re.findall(‘[\u4e00-\u9fa5]+‘,soup.text))
结果如下:
3、从中国大学排名网站爬取2019年大学排名
代码如下:
1 import requests 2 from bs4 import BeautifulSoup 3 import bs4 4 def getHTMLText(url) : 5 try: 6 r = requests.get(url,timeout = 30) 7 r.raise_for_status() 8 r.encoding = r.apparent_encoding 9 return r.text 10 except: 11 print("获取失败") 12 return ‘‘ 13 14 def fillUnivlist(ulist,html): 15 soup = BeautifulSoup(html,"html.parser") 16 for tr in soup.find(‘tbody‘).children: 17 if isinstance(tr,bs4.element.Tag): 18 tds = tr(‘td‘) 19 ulist.append([tds[0].string,tds[1].string,tds[2].string,tds[3].string]) 20 pass 21 22 def printUnivlist(ulist,num): 23 print("{:^4}\t{:<15}\t{:<8}\t{:<8}".format("排名","学校名称","省市","总分")) 24 for i in range(num): 25 u = ulist[i] 26 print("{:^4}\t{:<15}\t{:<8}\t{:<8}".format(u[0],u[1],u[2],u[3])) 27 28 def main(num): 29 allUniv=[] 30 url=‘http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html‘ 31 html = getHTMLText(url) 32 fillUnivlist(allUniv,html) 33 printUnivlist(allUniv,num) 34 main(20)
结果如下:
原文:https://www.cnblogs.com/zhENie/p/12920530.html