2021-07-07山东大学暑期实训第二周1


前言

上一篇讲述了通过selenium找到按钮的位置,然后通过模拟鼠标的行为,点击按钮,遍历表格中的内容。这次是针对表格内容的处理。


表格内容的处理

在这里插入图片描述

我们可以看到最全的表格内容,包括规格名称、核数、内存、按小时、包月、包一年、包2年等11列内容,但是我们通过点击按钮,发现并不是所有的表格都有这12项内容。

在这里插入图片描述
在这个表格里只有9项内容。

在这里插入图片描述
这个表格只有7项内容。

通过我的寻找,最少的表格只有5项内容。

在这里插入图片描述
因此这5项内容是基本内容,我先把这5项内容找出来。但是,有些云服务器的按小时是没有的,他用“–”表示,为了方便管理,我全部赋值为0

tandard_name = tr.find_elements_by_tag_name("td")[0].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
info.append(standard_name)#规格名称
cpu_count = tr.find_elements_by_tag_name("td")[1].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
info.append(cpu_count)#核数
memory = tr.find_elements_by_tag_name("td")[2].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
info.append(memory)#内存
unit = tr.find_elements_by_tag_name("td")[-1].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
info.append(unit)#单位
charge_hour = tr.find_elements_by_tag_name("td")[3].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
if(charge_hour=="--"):
      charge_hour="0"
info.append(charge_hour)#按小时

对于“包月”的处理。

charge_month = tr.find_elements_by_tag_name("td")[4].find_element_by_class_name("cell-normal").find_element_by_tag_name("span").text
if(charge_month=="--"):
    charge_month="0"
if(charge_month!="元"):
    info.append(charge_month)

对“包1年”、“包2年”等各项的处理

for j in range(5,num-1):
    charge=tr.find_elements_by_tag_name("td")[j].find_element_by_class_name("cell").text
    if(charge=="--"):
        charge="0"
    info.append(charge)

这样就可以爬取到所有云服务器的信息
我将信息保存到CSV文件中

name=["区域","CPU架构","规格","类型","镜像","规格名称","核数","内存","价格单位","按小时","包月","包1年","包2年","包3年","包4年","包5年"]
test=pd.DataFrame(columns=name,data=center_info)
test.to_csv("D:/test3.csv")

在这里插入图片描述


总结

下一次的内容就是将爬取的内容经过清洗、处理、转换以后导入数据库中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值