我玩了很多名为ROBLOX的游戏,自更新以来,你无法保存你的头像。我使用python来获取网站的编码(因为你仍然可以查看它,你只是不能保存它),并使它保存到你的计算机。 我定义条款:
(我的ID是19088261(我在编码中发现了URL))
我尝试使用它来打开并保存图像:
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"))
如何下载图片?
答案 0 :(得分:0)
(
和)
是括号(单数:括号),而不是"
引号"
(我已经包围了用实际引号)。在Python中,括号和引号都不会将一个字符串插入到另一个字符串中...也许您正在考虑使用其他语言?
我建议你(重新)阅读" The Python Tutorial",其中包括introduction to strings和fancier output formatting部分。
官方Python文档包含string formatting,format string syntax和format specification mini-language的更正式定义。通常使用字符串.format
method来调用它们。
(还有一个较旧的printf
-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)
注意事项:
在Python 2中使用raw_input
(在Python 3中重命名为input
)。它不仅更安全,而且总是返回您想要的数据类型:字符串。所有与int
混淆的都是浪费时间。
url_template
是"包含"字符串,{0:s}
标记将插入其他字符串(在本例中为字符的ID号)。
模板字符串的.format
方法返回一个新字符串,稍后会与urlretrieve
一起使用。
file_name
非常简单,我只是将两个字符串与+
结合在了一起。
我跟随半官方Style Guide for Python Code(a.k.a。" PEP 8"),特别是" Naming Conventions"部分。
roblox.com网址无法检索图片,但有点HTML包含img
标记。我已将文件名更改为字符ID和" .html"延期。 (为什么在用户之后,当头像属于特定角色时命名文件?)
您可能希望将其存储在包含urlopen
的字符串中,而不是将该HTML下载到文件中,然后解析该字符串(搜索此网站以了解如何)以获取{{1 src
标记的属性,最后使用img
将 保存为JPEG文件。