当前位置: 首页 > 知识库问答 >
问题:

如何用Python下载汇流页面附件?

司空元凯
2023-03-14

使用atlassian-python-api 1.15.1模块和Python 3.6,我如何下载附加到合流页面的文件?

API文档的page actions部分提到了一个APIget_attachments_from_content,使用它我可以成功地获得所有页面附件及其元数据的列表。在这个问题的末尾有一个示例,说明了通过打印results键中的一个项可以获得什么。

fname = wget.download(base_server_name + attachment['_links']['download'])

“结果”键:

{'id':'56427526'、'type':'attachment'、'status':'current'、'title':'main.c'、'metadata':{'media type':'application/octet-stream'、'labels':{'results':[]、'start':0、'limit':200、'size':0、'_links':{'self':'https://foo.bar.com/confluence/rest/api/content/56427526/label'}}、'_expandable':{application/octet-stream“,”文件大小“:363,”注释“:”“},”_links“:{'webui':'/pages/viewpage.action?pageid=14648850&preview=%2f14648850%2f56427526%2fmain.c”,“download”:'/download/attachments/14648850/main.c?version=1&modificationdate=1580726185883&api=v2“,”self“:API/content/14648850',”操作“:”“,”子“:”/REST/api/content/56427526/child“,”限制“:”/REST/api/content/56427526/restriction/byoperation“,”历史“:”/REST/api/content/56427526/history“,”祖先“:”,“BODY“:”,“版本”:“,”后代“:”/rest/api/content/56427526/descendant“,”空间“:”/rest/api/space/~tim“}}

共有1个答案

仉峻
2023-03-14

虽然我没有找到直接使用atlassian-python-api模块下载文件的方法,但是我成功地使用了requests模块,这要归功于这个答案。下面是用于下载页面中可见的所有附件的代码:

from atlassian import Confluence
import requests

confluence = Confluence(
    url="https://my.server.com/Confluence",
    username='MyUsername',
    password="MyPassword")

attachments_container = confluence.get_attachments_from_content(page_id=12345678, start=0, limit=500)
attachments = attachments_container['results']
for attachment in attachments:
        fname = attachment['title']
        download_link = confluence.url + attachment['_links']['download']
        r = requests.get(download_link, auth=(confluence.username, confluence.password))
        if r.status_code == 200:
            with open(fname, "wb") as f:
                for bits in r.iter_content():
                    f.write(bits)
 类似资料:
  • http://www.equibase.com/premium/chartemb.cfm?track=alb&racedate=06/17/2002&cy=usa&rn=1 我想下载嵌入式PDF。 我尝试了和的普通方法,但它们都不起作用。 null

  • 问题内容: 我试图使用Python从Internet下载某些内容,但我使用的是urllib模块,但无法正常工作。我希望能够将下载的文件保存到我选择的位置。如果有人可以用清晰的例子向我解释如何做到这一点,将不胜感激。 问题答案: 我建议像这样使用urllib2: 您甚至可以将其缩短为(尽管,如果您打算将每个单独的调用括在-中,则不想将其缩短):

  • 问题内容: 目前,我有一个只能下载给定页面的脚本。 现在我想 下载网页中的所有文件 ,包括,,和 图像文件 (同我们得到任何网站的CTRL-S)。 我当前的代码是: 我访问了许多问题,但它们都只下载了。 问题答案: 以下实现使您能够获取HTML子网站。为了获得您需要的其他文件,可以对其进行更完善的开发。我为您设置了变量,以设置要解析的最大sub_websites。 Python3版本,2019年。

  • 我正在寻找一种在python中下载pdf文件的方法,我看到了关于推荐urllib模块的其他问题的答案。我试图用它下载一个pdf文件,但是当我试图打开下载的文件时,一条消息显示该文件无法打开。 错误消息 这是我使用的代码- 我做错了什么?此外,该文件会自动保存到python文件所在的目录中。如何更改它保存到的位置? 编辑-我再次尝试使用示例pdf的链接,http://unec.edu.az/appl

  • 我尝试通过selenium(python)从GoogleTrend下载CSV数据。 在前面,我尝试打印源页和提取数据,我以后想要。它在一段时间内起作用,但现在不起作用了。 导入sys导入时间 从selenium导入webdriver.Common.Keys导入selenium.webdriver.Common.Action_Chains导入selenium.webdriver.Support.UI

  • 本文向大家介绍asp.net分页控件使用详解【附实例下载】,包括了asp.net分页控件使用详解【附实例下载】的使用技巧和注意事项,需要的朋友参考一下 一、说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二、代码 1、首先在测试页面Default.aspx页面添加引用 <%@ Register Assembly="AspNetPager