相关疑难解决方法(0)

在Python中使用HTTP GET的最快方法是什么?

如果我知道内容将是一个字符串,那么在Python中使用HTTP GET的最快方法是什么?我正在搜索文档中的快速单行,如:

contents = url.get("http://example.com/foo/bar")
Run Code Online (Sandbox Code Playgroud)

但是,所有我能找到使用谷歌是httpliburllib-我无法找到这些库中的快捷方式.

标准Python 2.5是否具有上述某种形式的快捷方式,还是应该编写函数url_get

  1. 我宁愿不把shell的输出捕获到wgetcurl.

python networking http

589
推荐指数
10
解决办法
72万
查看次数

基本的http文件下载并保存到python中的磁盘?

我是Python的新手,我一直在浏览本网站上的问答,以回答我的问题.但是,我是初学者,我发现很难理解一些解决方案.我需要一个非常基本的解决方案

有人可以向我解释一个简单的解决方案:"通过http下载文件"和"将其保存到Windows中的磁盘"吗?

我也不确定如何使用shutil和os模块.

我想下载的文件不到500 MB,是一个.gz存档文件.如果有人可以解释如何提取存档并利用其中的文件,那就太棒了!

这是一个部分解决方案,我从各种答案中总结出来:

import requests
import os
import shutil

global dump

def download_file():
    global dump
    url = "http://randomsite.com/file.gz"
    file = requests.get(url, stream=True)
    dump = file.raw

def save_file():
    global dump
    location = os.path.abspath("D:\folder\file.gz")
    with open("file.gz", 'wb') as location:
        shutil.copyfileobj(dump, location)
    del dump
Run Code Online (Sandbox Code Playgroud)

有人可以指出错误(初学者级别)并解释任何更简单的方法来做到这一点?

谢谢!

python file download save

141
推荐指数
6
解决办法
27万
查看次数

如何使用sed/grep在两个单词之间提取文本?

我试图输出一个字符串,其中包含字符串的两个单词之间的所有内容:

输入:

"Here is a String"
Run Code Online (Sandbox Code Playgroud)

输出:

"is a"
Run Code Online (Sandbox Code Playgroud)

使用:

sed -n '/Here/,/String/p'
Run Code Online (Sandbox Code Playgroud)

包括端点,但我不想包含它们.

string bash grep sed

110
推荐指数
10
解决办法
40万
查看次数

_download file_的最新版本的GitHub URL?

虽然这个问题是相似GitHub的最新版本,它实际上是不同的-它是关于一个链接,意思是"最新版本的下载文件本身".

GitHub提供了一个"最新"URL,可以重定向到最新版本的信息页面.例如:https://github.com/reactiveui/ReactiveUI/releases/latest将重定向到https://github.com/reactiveui/ReactiveUI/releases/tag/5.99.6(因为我输入此内容;或者到页面对于更新的版本,总有一天).

这很好,但我需要一个下载文件本身的URL .在此示例中,与绿色下载按钮关联的.zip文件, https://github.com/reactiveui/ReactiveUI/releases/download/5.99.6/ReactiveUI-5.99.6.zip(因为我输入此内容;或者有一天,一个较新的zip文件.

为什么?作为Travis CI脚本的一部分,我想提供curl的URL来下载最新版本.

我猜到了几个URL,比如/ releases/download/latest /file.zip(用"latest"代替版本部分)和/releases/download/file.zip但是那些404.

有没有办法做到这一点 - 在shell脚本和curl的上下文中(注意:不是在带JS的浏览器页面中)?

github

22
推荐指数
3
解决办法
6743
查看次数

下载最新的GitHub版本

我想在我的网站上有"下载最新版本"按钮,该按钮代表最新版本的链接(存储在GitHub版本中).我试图创建名为"latest"的发布标签,但是当我尝试加载新版本时(与标签创建日期混淆,标签交换等),它变得复杂了.手动更新我网站上的下载链接也是一项耗时且严格的任务.我看到唯一的方法 - 将所有下载按钮重定向到一些html,然后重定向到实际的最新版本.

请注意,我的网站托管在GitHub Pages(静态托管),所以我根本无法使用服务器端脚本来生成链接.有任何想法吗?

tags release github

17
推荐指数
2
解决办法
1万
查看次数

Github页面是否具有访问和缓存来自API的最新版本的内置方式?

学习Jekyll并通过Github Pages进行托管我想弄清楚如何访问私有仓库的最新版本并将下载URL缓存到Jekyll页面。我知道如何通过Github API使用访问令牌使用AJAX访问数据:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script language="javascript" type="text/javascript">  

  let USER = "grim"
  let REPO = "foobar"
  let TOKEN = "jsfjksgfjasgdjgsajgasjk"
  $.ajax({
    url: `https://api.github.com/repos/${USER}/${REPO}/releases/latest?access_token=${TOKEN}`,
    jsonp: true,
    method: "GET",
    dataType: "json",
    contentType: 'application/json',
    success: function(res) {
      console.log(res.assets)
    },
    error: function(res) {
      console.log(res)
    }
  })
</script>
Run Code Online (Sandbox Code Playgroud)

config.yml中,我设置USERREPOTOKEN。我的研究确实找到了Cache API,但未列出。使用Github Pages作为主机并在Jekyll中进行编码,是否有办法获取最新版本并使用Jekyll将响应存储在私有仓库中?如果我无法缓存API,是否可以在Jekyll构建中存储发布URL,因此可以将其编码到按钮上,以便按钮充当下载内容?

研究:

caching jekyll github-api github-pages repo

7
推荐指数
1
解决办法
184
查看次数

下载GitHub项目最新版本的链接

我想在我的网站上添加一个项目最新github版本的下载链接.例如,链接https://github.com/mongodb/mongo/archive/r3.0.0-rc7.zip确实链接到最新版本(截至今天),但我不想硬编码版本号网站.

我发现了几个关于这个问题的问题,使用curl,ajaxphp的答案.

我使用ajax尝试了使用github发布API的解决方案:

<!DOCTYPE html>

<HTML> <BODY>

<script language="javascript" type="text/javascript">   
    $(document).ready(function () { 
        GetLatestReleaseInfo();   
    });   

    function GetLatestReleaseInfo() {
      $.getJSON("https://github.com/mongodb/mongo/releases").done(function (json) {
         var release = json[0];
         var asset = release.assets[0];
         var downloadURL = "https://github.com/mongodb/mongo/releases" + release.tag_name + "/" + asset.name;
         $(".mongodb-download").attr("href", downloadURL);   
      });    
    } 
</script>

<a href="GetLatestReleaseInfo();">Link</a> 
<a href="" onclick="location.href=this.href+downloadURL;return false;">Link2</a> 
<a href="" onclick="location.href=this.href+mongodb-download;return false;">Link3</a>

</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

但我无法正确调用javascript函数,因为它似乎在我的上面尝试(Link,Link2和Link3).我对javascript或ajax不太熟悉,所以我很感激任何帮助; 也许没有Ajax有一种更简单的方法?

html javascript ajax github github-api

5
推荐指数
1
解决办法
1807
查看次数

codeload.github.com 与 api.github.com 有何不同?

我在浏览next.js存储库时注意到这个函数从 GitHub 下载并提取模板,带有 tar:

export async function downloadAndExtractExample(
  root: string,
  name: string
): Promise<void> {
  return await promisePipe(
    got.stream('https://codeload.github.com/zeit/next.js/tar.gz/canary'),
    tar.extract({ cwd: root, strip: 3 }, [`next.js-canary/examples/${name}`])
  )
}
Run Code Online (Sandbox Code Playgroud)

我在 StackOverflow 上搜索,我只找到了这个:

这是一个解释如何从 GitHub 中提取 tar.gz 的线程,但没有提到“代码加载”子域。它与“api”有什么不同?

github tar github-api

5
推荐指数
1
解决办法
3179
查看次数

标签 统计

github ×4

github-api ×3

python ×2

ajax ×1

bash ×1

caching ×1

download ×1

file ×1

github-pages ×1

grep ×1

html ×1

http ×1

javascript ×1

jekyll ×1

networking ×1

release ×1

repo ×1

save ×1

sed ×1

string ×1

tags ×1

tar ×1