如何把获取的数据保存到Excel

如何把已经获取的数据怎么保存到Excel,如何让这个Excel直接出现在桌面

img

img

img

先留个档,大概下面这个样子,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")

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632