相关疑难解决方法(0)

如何使用Python通过HTTP下载文件?

我有一个小工具,用于按计划从网站下载MP3,然后构建/更新播客XML文件,我显然已将其添加到iTunes.

创建/更新XML文件的文本处理是用Python编写的.我在Windows .bat文件中使用wget 来下载实际的MP3.我宁愿用Python编写整个实用程序.

我努力寻找一种方法来实际下载Python中的文件,因此我采用了wget.

那么,我如何使用Python下载文件?

python http urllib

813
推荐指数
20
解决办法
100万
查看次数

Python中的HTTP请求和JSON解析

我想通过Google Directions API动态查询Google地图.例如,此请求通过乔普林,密苏里州和俄克拉荷马城的两个航路点计算从伊利诺伊州芝加哥到洛杉矶的路线,OK:

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

以JSON格式返回结果.

我怎么能用Python做到这一点?我想发送这样的请求,接收结果并解析它.

python json

177
推荐指数
7
解决办法
44万
查看次数

如何在Python 2中发送HEAD HTTP请求?

我在这里尝试做的是获取给定URL的标题,以便我可以确定MIME类型.我希望能够看到是否http://somedomain/foo/会返回HTML文档或JPEG图像.因此,我需要弄清楚如何发送HEAD请求,以便我可以读取MIME类型而无需下载内容.有谁知道这样做的简单方法?

python content-type http http-headers python-2.7

110
推荐指数
6
解决办法
7万
查看次数

python:检查url是否存在jpg

在python中,我如何检查以.jpg结尾的url是否存在?

例如:http: //www.fakedomain.com/fakeImage.jpg

谢谢

python validation url

30
推荐指数
3
解决办法
3万
查看次数

为什么HTTP POST请求体需要在Python中加入JSON?

在玩外部API时遇到了这个问题.我将我的身体数据作为字典直接发送到请求中,并且收到了400个错误:

data = {
  "someParamRange": {
    "to": 1000, 
    "from": 100
  }, 
  "anotherParamRange": {
    "to": True, 
    "from": False
  }
}
Run Code Online (Sandbox Code Playgroud)

当我添加一个json.dumps包装时,它可以工作:

data = json.dumps({
  "someParamRange": {
    "to": 1000, 
    "from": 100
  }, 
  "anotherParamRange": {
    "to": True, 
    "from": False
  }
})
Run Code Online (Sandbox Code Playgroud)

我不完全理解为什么这是必要的,因为字典和JSON对象在语法上是相同的.有人可以帮我理解幕后发生的事情吗?

为了完整性,这是我的标题:

headers = {'API-KEY': 'blerg', 'Accept-Encoding': 'UTF-8', 'Content-Type': 'application/json', 'Accept': '*/*', 'username': 'user', 'password': 'pwd'}
Run Code Online (Sandbox Code Playgroud)

编辑:

我之前没有提到这个,但现在我觉得它可能是相关的.我正在使用Python Requests库,另一篇文章似乎建议你永远不必将参数编码到请求对象:https://stackoverflow.com/a/14804320/1012040

"无论GET/POST是否你再也不需要编码参数,它只需要一个字典作为参数,并且很好."

好像序列化似乎不是必要的?

我的请求对象:

response = requests.post(url, data=data, headers=headers)
Run Code Online (Sandbox Code Playgroud)

python http python-requests

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

Python-Requests,从字符串中提取url参数

我正在使用这个令人敬畏的库requests来维护python 2和3兼容性并简化我的应用程序请求管理.

我有一个案例,我需要解析一个网址并替换其中一个参数.例如:

http://example.com?param1=a&token=TOKEN_TO_REPLACE&param2=c
Run Code Online (Sandbox Code Playgroud)

我希望得到这个:

http://example.com?param1=a&token=NEW_TOKEN&param2=c
Run Code Online (Sandbox Code Playgroud)

随着urllib我可以这样做:

from urllib.parse import urlparse
from urllib.parse import parse_qs
from urllib.parse import urlencode

url = 'http://example.com?param1=a&token=TOKEN_TO_REPLACE&param2=c'

o = urlparse(url)
query = parse_qs(o.query)
if query.get('token'):
    query['token'] = ['NEW_TOKEN', ]
    new_query = urlencode(query, doseq=True)
    url.split('?')[0] + '?' + new_query

>>> http://example.com?param2=c&param1=a&token=NEW_TOKEN
Run Code Online (Sandbox Code Playgroud)

你如何使用requests图书馆实现同样的目标?

python python-3.x python-requests

18
推荐指数
2
解决办法
3万
查看次数

如何在Rust 1.0中获得随机数?

我试过了

use std::rand::{task_rng, Rng};

fn main() {
    // a number from [-40.0, 13000.0)
    let num: f64 = task_rng().gen_range(-40.0, 1.3e4);
    println!("{}", num);
}
Run Code Online (Sandbox Code Playgroud)

但这给了

error[E0432]: unresolved import `std::rand::task_rng`
 --> rand.rs:1:17
  |
1 | use std::rand::{task_rng, Rng};
  |                 ^^^^^^^^ no `task_rng` in `rand`

error[E0432]: unresolved import `std::rand::Rng`
 --> rand.rs:1:27
  |
1 | use std::rand::{task_rng, Rng};
  |                           ^^^ no `Rng` in `rand`

error[E0603]: module `rand` is private
 --> rand.rs:1:17
  |
1 | use std::rand::{task_rng, Rng};
  |                 ^^^^^^^^

error[E0603]: module `rand` is private
 --> …
Run Code Online (Sandbox Code Playgroud)

random rust

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

使用Python中的POST将数据发送到PHP

PHP代码:

<?php
$data=$_POST['data'];
echo $data;
?>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,Python打印的HTML页面通知我PHP在$dataIe中没有收到任何值:

$ name错误; 未定义的索引

但是,当我将数据作为GET(http://localhost/mine.php?data=data)发送并将PHP方法从POST更改为GET($data=$_GET['data'])时,将获取并处理该值.

我的主要问题是,数据中的值似乎没有通过PHP,因为我本想使用POST.可能有什么不对?

php python urllib2

13
推荐指数
3
解决办法
5万
查看次数

带有身份验证的urllib.request.urlopen(url)

我一直在玩美丽的汤和解析网页几天.我一直在使用一行代码,这些代码在我编写的所有脚本中都是我的救星.代码行是:

r = requests.get('some_url', auth=('my_username', 'my_password')).
Run Code Online (Sandbox Code Playgroud)

但......

我想用(打开一个带有身份验证的URL)做同样的事情:

(1) sauce = urllib.request.urlopen(url).read() (1)
(2) soup = bs.BeautifulSoup(sauce,"html.parser") (2)
Run Code Online (Sandbox Code Playgroud)

我无法打开网址并阅读需要身份验证的网页.我如何实现这样的目标:

  (3) sauce = urllib.request.urlopen(url, auth=(username, password)).read() (3) 
instead of (1)
Run Code Online (Sandbox Code Playgroud)

python url beautifulsoup request python-3.x

13
推荐指数
3
解决办法
3万
查看次数

我应该选择哪个urllib?

我们知道,python有两个内置的url lib:

  • urllib
  • urllib2

和第三方库:

  • urllib3

如果我的要求只是通过GET方法请求API,则假设它返回一个JSON字符串.
我应该使用哪个lib?他们有一些重复的功能吗?
如果urllib可以实现我的要求,但是如果我的要求越来越复杂,urllib不能适合我的功能,我当时应该导入另一个lib,但我真的只想导入一个lib,因为我认为导入所有的他们可以让我困惑,我认为他们之间的方法是完全不同的.

所以现在我很困惑我应该使用哪个库,我更喜欢urllib3,我认为它可以满足我的要求所有时间,你怎么看?

python urllib urllib2 urllib3

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