如何把已经获取的数据怎么保存到Excel,如何让这个Excel直接出现在桌面
先留个档,大概下面这个样子,strtodict
函数懒得打了,明天在看看,题主自己照搬下
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from openpyxl import Workbook
url='采集的网址'
d=webdriver.Chrome()
d.maximize_window()
d.get(url)
d.delete_all_cookies()
cookie = {}#登录系统,获取生成的cookie放到这个字典里面
d.add_cookie(cookie_dict=cookie)
d.get(url)
els=d.find_elements(By.CSS_SELECTOR,'a.layui-btn-danger')##考核按钮
print('审核按钮==>',els)
wb=Workbook()
ws=wb.active
infoKeys=['assessmentId','name','sex','signId','idno','patientId','age','signDate','totalScore','drId','teamId','signFromDate','signToDate','groupName','isFinish','operate']
scoreKeys=['签约档案的齐全','建立居民电子健康档案','有效沟通1次以上','提供签约对象刷深灰保障卡服务记录1次','签约对象提供健康咨询服务','由“家庭医生服务团队”提供每月不少于半天','所有人群(包括健康诊疗、宣传,咨询情况等)','健康人群调阅健康档案情况','满意度测评']
ws.append(infoKeys+scoreKeys)#表头
##点击当前页所有考核按钮打开对应iframe
for el in els:
el.click()
time.sleep(2)#暂停2s加载数据
iframe=d.find_element(By.CSS_SELECTOR,'.layui-layer-content iframe')#获取iframe详情页
objinfo=strtodict(iframe.get_attribute('src'))
row=[]
for col in infoKeys:###用户信息
row.append(objinfo.get(col,'--'))
print('详细页==》',iframe)
d.switch_to.frame(iframe)#切换到iframe
scoreInput=d.find_elements(By.CSS_SELECTOR,'input.scoreInput')#分数输入框
for i in range(len(scoreKeys)):###得分情况
row.append(scoreInput[i].get_attribute('value'))
ws.append(row)#写入数据
#for ipt in scoreInput:
# print(ipt.get_attribute('value'),end=' ')
d.switch_to.default_content() #切换回原页面
jscode="$('.layui-layer-shade,.layui-layer-loading,.layui-layer-iframe').remove()"
d.execute_script(jscode)#执行脚本移除layui弹出层
ws.save("采集的数据.xlsx") ##保存文件,和当前文件再同一个目录下
#d.quit()
你要获取的网址是什么?
你数据已经正确获取了没有,
这个是爬取news.qq.com网站广东疫情的数据用openpyxl写入到C:\Users\xxxxxxxxxxxxxx\Desktop\gddd.xlsx的例子。 参考下
import requests
import openpyxl
import json
url = "https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=chinaDayList,chinaDayAddList,nowConfirmStatis,provinceCompare"
headers={'Host' : 'api.inews.qq.com',
'Origin' : 'https://news.qq.com',
'Referer' : 'https://news.qq.com/zt2020/page/feiyan.htm',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36'}
response = requests.post(url=url,headers=headers)
data = response.json()['data']['chinaDayAddList']
wb = openpyxl.Workbook()
ws=wb.active
ws.title ="广东疫情"
ws.append(['年份','日期','累计确诊','新增确诊数','总治愈数','总死亡数','新增死亡数','新增治愈数'])
for each in data:
ws.append([each['y'],each['date'],each['confirm'],each['localConfirmadd'],each['heal'],each['dead'],each['deadRate'],each['healRate']])
wb.save(r"C:\Users\xxxxxxxxxxxxxx\Desktop\gddd.xlsx")
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!