gpt4 book ai didi

python - 在python中创建一个动态论坛签名生成器

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:55 25 4
gpt4 key购买 nike

我找了又找,但我只找到了涉及 php 而不是 python/django 的解决方案。我的目标是制作一个允许用户输入字符串的网站(后端用 python 编码)。然后将运行后端脚本并输出包含一些信息的字典。我想要的是使用字典中的信息将其绘制到服务器上的图像上,并将新图像提供给用户。我现在如何离线执行此操作?我可以使用哪些库?任何关于我应该前进的路线的建议都会很可爱。

我还是个新手所以如果我的代码需要工作请原谅我。到目前为止,我没有任何错误,但就像我说的那样,我不知道下一步该去哪里才能实现我的目标。任何提示将不胜感激。

这就是我希望的最终目标 http://combatarmshq.com/dynamic-signatures.html

这就是我目前所拥有的(我从这里使用漂亮的汤作为解析器。如果这太过分或者我以不太好的方式做到这一点,请告诉我是否有更好的选择。谢谢) :

我得到我想要的数字的 url(这些是动态的)是这样的:http://combatarms.nexon.net/ClansRankings/PlayerProfile.aspx?user=

播放器的名称将在用户之后,例如 http://combatarms.nexon.net/ClansRankings/PlayerProfile.aspx?user=-aonbyte

这是抓取网站基本功能的代码:

from urllib import urlopen
from BeautifulSoup import BeautifulSoup

def get_avatar(player_name):
'''Return the players avatar as a binary string.'''
player_name = str(player_name)
url = 'http://combat.nexon.net/Avatar/MyAvatar.srf?'
url += 'GameName=CombatArms&CharacterID=' + player_name
sock = urlopen(url)
data = sock.read()
sock.close()
return data

def save_avatar(data, file_name):
'''Saves the avatar data from get_avatar() in png format.'''
local_file = open(file_name + '.png', 'w' + 'b')
local_file.write(data)
local_file.close()

def get_basic_info(player_name):
'''Returns basic player statistics as a dictionary'''
url = 'http://combatarms.nexon.net/ClansRankings'
url += '/PlayerProfile.aspx?user=' + player_name
sock = urlopen(url)
html_raw = sock.read()
sock.close()
html_original_parse = BeautifulSoup(''.join(html_raw))
player_info = html_original_parse.find('div', 'info').find('ul')
basic_info_list = range(6)
for i in basic_info_list:
basic_info_list[i] = str(player_info('li', limit = 7)[i+1].contents[1])
basic_info = dict(date = basic_info_list[0], rank = basic_info_list[1], kdr = basic_info_list[2], exp = basic_info_list[3], gp_earned = basic_info_list[4], gp_current = basic_info_list[5])
return basic_info

下面是测试这些功能的代码:

from grabber import get_avatar, save_avatar, get_basic_info

player = raw_input('Player name: ')
print 'Downloading avatar...'
avatar_data = get_avatar(player)
file_name = raw_input('Save as? ')
print 'Saving avatar as ' + file_name + '.png...'
save_avatar(avatar_data, file_name)
print 'Retrieving ' + player + '\'s basic character info...'
player_info = get_basic_info(player)
print ''
print ''
print 'Info for character named ' + player + ':'
print 'Character creation date: ' + player_info['date']
print 'Rank: ' + player_info['rank']
print 'Experience: ' + player_info['exp']
print 'KDR: ' + player_info['kdr']
print 'Current GP: ' + player_info['gp_current']
print ''
raw_input('Press enter to close...')

最佳答案

如果我没理解错的话,您想从一个地方获取图像,从另一个地方获取一些文本信息,在图像顶部绘制文本,然后返回标记图像.我有这个权利吗?

如果是这样,请获取 PIL,即 Python 图像库。 PIL 和 BeatifulSoup 都能够直接从打开的 URL 中读取,所以你可以忘记 socket 废话。从 HTTP 请求中获取玩家名称,打开图像,使用 BeautifulSoup 获取数据,使用 PIL 的文本函数在图像上写入,将图像保存回 HTTP 响应中,就完成了。

关于python - 在python中创建一个动态论坛签名生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7090773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com