在引号中包含定义的术语

2024-10-04 05:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个游戏,我玩了很多叫ROBLOX和自从更新,你不能保存你的头像。我用python对网站进行了编码(因为你仍然可以查看它,但你不能保存它),并将其保存到你的计算机上。 定义术语:

  • CharacterID(作为用户的ID)

http://www.roblox.com/thumbnail/user-avatar?userId=19088261&thumbnailFormatId=124&width=352&height=352

(我的ID是19088261(我在编码中找到了那个URL))

  • Robloxian(作为玩家的用户名)

我试图用这个打开并保存图像:

import urllib

Robloxian = int(input("First off, before we start, what's your roblox username?: "))
CharacterID = int(input("ID: "))
URL = "http://www.roblox.com/thumbnail/user-avatar?userId=(CharacterID)&thumbnailFormatId=124&width=352&height=352"
urllib.urlretrieve(URL, "(Robloxian)s Avatar.jpg"))

如何让它下载图像?你知道吗


Tags: comidhttpurl编码wwwwidththumbnail
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:24

()圆括号(单数:圆括号),而不是"引号"(我用实际引号括起来)。在Python中,括号和引号都不能将一个字符串插入到另一个字符串中。。。也许你在想别的语言?你知道吗

我建议您(重新)阅读“The Python Tutorial”,其中包括introduction to stringsfancier output formatting部分。你知道吗

官方Python文档包括string formattingformat string syntaxformat specification mini-language的更正式的定义。它们通常通过使用字符串的^{} method来调用。你知道吗

(还有一个更老的^{}-style string formatting syntax,如果您有C语言或C派生语言(如Java和PERL)的背景,您可能更熟悉它。如果您还不知道它,那么学习它的唯一原因就是在较旧的Python代码中识别它。)

也可以使用+操作符将字符串粘在一起:

url = url_prefix + character_id + url_suffix

下面是一个精简的版本,演示了如何使用它:

import urllib

character_id = raw_input('Roblox character ID: ')
url_template = 'http://www.roblox.com/thumbnail/user-avatar?userId={0:s}&thumbnailFormatId=124&width=352&height=352'
url = url_template.format(character_id)
file_name = character_id + '.html'
urllib.urlretrieve(url, file_name)

更改为注释:

  1. 在Python2中使用raw_input(在Python3中重命名为input)。它不仅更安全,而且总是返回您想要的数据类型:字符串。所有那些胡闹都是浪费时间。

  2. url_template是“包含”字符串,用{0:s}标记将插入其他字符串的位置(在本例中是字符的ID号)。

  3. 模板字符串的.format方法返回一个新字符串,该字符串稍后与urlretrieve一起使用。

  4. file_name非常简单,我只是用+将两个字符串粘在一起。

  5. 我遵循了半官方的Style Guide for Python Code(也称为“pep8”),特别是“Naming Conventions”部分。

  6. 那个roblox.comURL不检索图像,而是包含img标记的一点HTML。我已经将文件名改为只有字符ID和“.html”扩展名。(当化身属于特定角色时,为什么要以用户的名字命名文件?)

与其将HTML下载到文件中,您可能希望将其存储在带有^{}的字符串中,然后解析该字符串(搜索此站点以了解如何获得)img标记的src属性,最后使用urlretrieve保存为JPEG文件。你知道吗

相关问题 更多 >