首页 > 其他 > 详细

第一个爬虫和测试

时间:2020-05-18 22:45:59      阅读:57      评论:0      收藏:0      [点我收藏+]

(一)完善上次球赛数据:

代码如下:

def gameOver(a,b):
    if (a>=15 and abs(a-b)>=2) or (b>=15 and abs(a-b)>=2):
        return True
    else:
        return False
try:
    c=gameOver()
    print(c)
except:
    print("Error")

当输入值为(17,11)时输出True,比赛结束。当输入值为(13,11)时输出False,比赛继续。

(二)爬虫

接下来做的是访问搜狗网页20次,并记录下text等相关信息。

代码如下:

import requests
for i in range(20):
    r=requests.get("https://baidu.com/")
    print(r.status_code)
    print(r.text)
    print(r.encoding)
    r.encoding = ‘utf-8‘
    print(r.text)
    print(type(r.text))
    print(type(r.content))

(三)、根据所给的html页面,保持为字符串,完成如下要求:

(1)打印head标签内容和你学号的后两位

(2)获取body标签的内容

(3)获取id的first的标签对象

(4)获取并打印html页面中的中文字符

from bs4 import BeautifulSoup
= ‘‘‘
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
 
<h1>我的第一个标题</h1>
<p id="first">我的第一个段落。</p>
 
</body>
    <table border="1">
        <tr>
            <td>row 1, cell 1</td>
            <td>row 1, cell 2</td>
        </tr>
    </table>
</html>
‘‘‘
demo = BeautifulSoup(r,"html.parser")
 
print(demo.title)
print(demo.body)
print(demo.p)
print(demo.string)

效果如下:   

<title>菜鸟教程(runoob.com)</title>
<body>
<h1>我的第一个标题</h1>
<p id="first">我的第一个段落。</p>
</body>
<p id="first">我的第一个段落。</p>
None

(四)、爬取中国大学排名(年费2016),将数据存为csv文件。

import requests
from bs4 import BeautifulSoup
ALL = []
def getHTMLtext(url):
  try:
   r = requests.get(url,timeout = 30)
   r.raise_for_status()
   r.encoding = ‘utf-8‘
   return r.text
  except:
   return ""

def fillUni(soup):
  data = soup.find_all(‘tr‘)
  for tr in data:
    td1 = tr.find_all(‘td‘)
    if len(td1) == 0:
    continue
    Single = []
    for td in td1:
    Single.append(td.string)
    ALL.append(Single)

def printUni(num):
  print("{1:^2}{2:{0}^10}{3:{0}^6}{4:{0}^6}{5:{0}^6}{6:{0}^6}{7:{0}^6}{8:{0}^6}{9:{0}^5}{10:{0}^6}{11:{0}^6}{12:{0}^6}{13:{0}^6}".format(chr(12288),"排名","学校名称","省市","总分", "生源质量","培养结果","科研规模","科研质量", "顶尖成果","顶尖人才","科技服务", "产学研究合作","成果转化"))

  for i in range(num):
    u = ALL[i]
    print("{1:^4}{2:{0}^10}{3:{0}^6}{4:{0}^8}{5:{0}^9}{6:{0}^9}{7:{0}^7}{8:{0}^9}{9:{0}^7}{10:{0}^9}{11:{0}^8}{12:{0}^9}{13:{0}^9}".format(chr(12288),u[0], u[1],u[2],eval(u[3]), u[4],u[5],u[6],u[7],u[8], u[9],u[10],u[11],u[12]))

  

def main(num):
  url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html"
  html = getHTMLtext(url)
  soup = BeautifulSoup(html,"html.parser")
  fillUni(soup)
  printUni(num)
main(10)

效果如下:

排名   学校名称     省市    总分   生源质量  培养结果  科研规模  科研质量 顶尖成果  顶尖人才  科技服务 产学研究合作 成果转化 
1    清华大学    北京市    95.9    100.0   97.90%   37342   1.298   1177     109   1137711   1187    593522  
2    北京大学    北京市    82.6    98.9    95.96%   36137   1.294    986     87     439403    799     7343   
3    浙江大学    浙江省     80     88.8    96.46%   41188   1.059    803     86     959511    833     64392  
4   上海交通大学   上海市    78.7    90.6    96.76%   40417   1.08     730     76     688607    909    104871  
5    复旦大学    上海市    70.9    90.4    97.04%   25519   1.311    687     58     246736    534     2088   
6    南京大学    江苏省    66.1    90.7    98.58%   20722   1.302    551     34     365202    239     5130   
7  中国科学技术大学  安徽省    65.5    90.1    91.30%   18507   1.433    662     40     63767     228      658   
8  哈尔滨工业大学   黑龙江省   63.5    80.9    94.32%   25249   0.932    478     22    1403251    379     4970   
9   华中科技大学   湖北省    62.9    83.5    92.07%   23503   1.099    507     33     442079    482     11457  
10    中山大学    广东省    62.1    81.8    93.45%   23837   1.19     464     46     147873    207      310   

 

第一个爬虫和测试

原文:https://www.cnblogs.com/w2538060594/p/12913481.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!