python - 我的歌词机器人不向服务器发送字符串

标签 python python-3.x instant-messaging robobrowser text-processing

我用 python 创建了一个歌词机器人。我正在使用 robobrowser 从 genius.com 抓取歌词,但它不会将歌词发送到群组。

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)

最佳答案

要消除警告,请遵循 the issue discussion on github 中的建议.

将解析器传递给 RoboBrowser 构造函数:

browser = RoboBrowser(parser='html.parser')

关于python - 我的歌词机器人不向服务器发送字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605138/

相关文章:

python - Numpy 数组添加额外列表

Python:如何告诉 for 循环从函数继续?

python - 印象笔记更新笔记资源

python - 如何使用 pandas 根据行值条件更改列数据类型

python - 直接在Python解释器上打印

python - 无法从其他类访问变量 - tkinter

android - 在 kivy 应用程序中包含第三方模块时出错

ios - 我可以将Apple的推送通知服务器用于即时消息应用程序吗?

android - 为什么我们应该使用 XMPP 而不是 JSON 作为简单的(纯文本)消息传递应用程序?

c++ - 开源即时通讯 API