Python 请求 url 编码不起作用

标签 python http web-scraping python-requests

直接来自 python 请求示例的是这个片段:

payload = {'key1': 'value1', 'key2': 'value2'}  
r = requests.get("http://httpbin.org/get", params=payload)  
print r.url  
u'http://httpbin.org/get?key2=value2&key1=value1'

但是当我尝试从网站提取数据时(使用请求 0.13.0):

payload = {'one' : 'one', 'two' : 'two' }  
r = requests.get("http://[ip_removed]/clubs/pairs_results/personal.php", params=payload)
print r.url  
http://[ip_removed]/clubs/pairs_results/

根本没有正确编码。想法?

编辑: 看起来该站点发出了 302 重定向。我该如何处理才能获得我的浏览器将看到的相同 html。

最佳答案

该站点只是在此处执行 HTTP 302 重定向,随后是 requests,因此您最终会获得与最初请求不同的 url。这不是错误,而是预期的行为。

如果您不想这样,您可以在发送请求时添加 allow_redirects=False 关键字参数。

顺便说一下:使用 inurl:... 进行谷歌搜索会很快显示您在这里谈论的是哪个网站,即使您删除了 ip...

关于Python 请求 url 编码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10815168/

相关文章:

Python:从嵌入另一个字典和列表的字典中提取值

python - 使用 SleekXMPP 连接到 Facebook 聊天

python - 使用 Selenium 单击所有 youtube 评论 'reply' 按钮并获取 channel 链接

python - BeautifulSoup 刮电影标题和图像

php - 我的 PHP 脚本缓存(公共(public))友好吗?

Java:提取 Instagram 点赞?

python - 如何在 DRF 中对序列化程序自定义字段的值进行排序

python - 仅在测试失败时创建屏幕截图

perl - 选项 Perl 中的 HTTP 请求

http - 如何在 Go 中为来自同一个监听器的 SSH 和 HTTP(S) 流量提供服务?