限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410
观察网页
网页地址:
按F12打开开发者工具,点击网络并刷新页面excel排名显示第几名,找到地址栏并点击响应,搜索关键词“vitality”并观察,发现数据都在地址栏上,因此认定该网页为静态网页。
请求数据
观察其标头,发现该网页为GET请求。使用requests库请求数据。
代码如下:
#请求数据
import requests#导入requests库
url='https://www.hltv.org/ranking/teams/2023/may/29'
r=requests.get(url)
print(r)
运行结果如下,请求成功
解析数据
可见“世界排名”、“战队名称”、“分数”这几个信息都被储存在’ranked-team standard-box’标签下的’div’标签下,其对应属性分别为’position’、’name’、’points’。利用BeautifulSoup库进行解析。
解析数据代码如下:
#解析数据
from bs4 import BeautifulSoup#导入BeautifulSoup库
items=[]#定义一个空列表,存储排名信息
soup=BeautifulSoup(r.text,'html.parser')
post_list=soup.find_all('div',class_='ranked-team standard-box')#找到所有排名所在标签
for post in post_list:
ranking=post.find('span',class_='position').text#获取排名
team_name=post.find('span',class_='name').text#获取战队名称
points=post.find('span',class_='points').text#获取分数
item=[ranking,team_name,points]
items.append(item)
存储数据
利用pandas库以Excel表格形式存储数据excel排名显示第几名,代码如下:
#存储数据
import pandas as pd#导入pandas库
df=pd.DataFrame(items,columns=['世界排名','战队名称','分数'])
df.to_excel('hltv排名.xlsx',encoding='utf_8_sig')#保留在当前工作目录
#encoding='utf_8_sig':确保正确显示中文
完整代码
#导入第三方库
import requests
from bs4 import BeautifulSoup
import pandas as pd
#请求数据
url='https://www.hltv.org/ranking/teams/2023/may/29'
r=requests.get(url)
#解析数据
items=[]#定义一个空列表,存储排名信息
soup=BeautifulSoup(r.text,'html.parser')
post_list=soup.find_all('div',class_='ranked-team standard-box')#找到所有排名所在标签
for post in post_list:
ranking=post.find('span',class_='position').text#获取排名
team_name=post.find('span',class_='name').text#获取战队名称
points=post.find('span',class_='points').text#获取分数
item=[ranking,team_name,points]
items.append(item)
#存储数据
df=pd.DataFrame(items,columns=['世界排名','战队名称','分数'])
df.to_excel('hltv排名.xlsx',encoding='utf_8_sig')#保留在当前工作目录
#encoding='utf_8_sig':确保正确显示中文
运行结果
运行结果如下:
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。