我用python创建了一个歌词机器人。我要把歌词从天才网使用robobrowser,但它不会将歌词发送给团队。你知道吗
if ( parser.getCommand() == 'GroupMESG'):
if(parser.getPayload().lower()[:7]=='!lyrics'):
#Send wait message in the group
parser.sendGroupMessage(parser.getTargetID(), "/me Please wait.. I am finding your song.")
browser = RoboBrowser(history=True)
browser.open('http://genius.com/')
# Search for Porcupine Tree
form = browser.get_form(action='/search')
form # <RoboForm q=>
form['q'].value = parser.getPayload().lower()[8:]
browser.submit_form(form)
# Look up the first song
songs = browser.select('.song_link')
browser.follow_link(songs[0])
lyrics = browser.select('.lyrics')
lyrics[0].text
print(lyrics[0].text) ## it prints the songs
##it is not sending lyrics in the group :(
parser.sendGroupMessage(parser.getTargetID(), lyrics[0].text)
这是第二行的错别字吗?这可能会导致python代码中出现错误。你知道吗
我的个人解决方案(虽然容易出错(如果您键入的艺术家姓名或歌曲不正确,您将不会得到结果))
这使用了genius链接格式化的方式来发挥其优势:艺术家名称,然后是歌曲名称,所有这些都与-。输入要求将所有这些信息除以空格,然后将空格.replaced()替换为-并插入到链接中,然后对链接中的歌词进行分析,这些歌词总是在css选择器“.lyms”下,然后它将html文本中的标记去掉,并将歌词作为文本打印。你知道吗
要消除警告,请遵循the issue discussion on github的建议。你知道吗
将解析器传递给
RoboBrowser
构造函数:相关问题 更多 >
编程相关推荐