程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python下载wiki中的excel

发布于2019-10-29 16:08     阅读(1526)     评论(0)     点赞(10)     收藏(4)


内部wiki使用的是 Atlassian Confluence ,业务上回有些数据用excel跟新到wiki,现在用程序下载目标excel。
file_url直接在页面上获取的,excel文件名其实可以从url里截取,有时间再更吧。
刚开始使用requests.get(url)无法正常下载,需要登录授权才能下载,在官网看了下文档,找到了他们提供的登录api。

现在发现有问题还是要找官方文档来的简单,整个过程只用了不到半个小时就解决了问题。
具体实现逻辑如下:

def download_wiki_excel(user_info, file_url, save_to_path):
    import requests
    # 获取登录session,设置官方提供的headers。用户登录信息使用参数传入。
    session = requests.session()
    session.auth = (user_info['username'], user_info['password'])
    headers = {'X-Atlassian-Token': 'no-check'}
    
    # 下载文件。因为文件不大,所以直接全部拉倒内存了。
    r = session.get(file_url, headers=headers)
    print("ok")
    with open(save_to_path, "wb") as f:
        print(r.content)
        f.write(r.content)


if __name__ == '__main__':
    # Wiki页面直接复制过来
    file_url = 'http://wiki.mycom.cn/download/path/xxxx.xlsx?api=v2'
    save_to_path = 'xxxx.xlsx'

    user_info = dict(
        username='username',
        password='password'
    )
    download_wiki_excel(user_info, file_url, save_to_path)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

参考:

  1. 官方相关参考文档: https://confluence.atlassian.com/confkb/how-to-disable-collaborative-editing-through-rest-api-call-927727635.html


所属网站分类: 技术文章 > 博客

作者:听爸爸的话

链接:https://www.pythonheidong.com/blog/article/147552/794fc73b8d1563d2aeb8/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)