2

我已經在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) 
+1

我加了你的圖片到你的問題,但它更建議你的錯誤粘貼文本,而不是圖像。 – Lafexlos

+0

好的,謝謝@Lafexlos – Bharat

+2

這不是一個錯誤,它是一個警告,它告訴你如何解決它。 –

回答

0

這是第二行中的拼寫錯誤嗎?這可能會給你在Python代碼中的錯誤。

form = browser.get_form(action='/search') 
form    # <RoboForm q=> 
form['q'].value = parser.getPayload().lower()[8:] 
1

要擺脫警告,請遵循the issue discussion on github的建議。

傳遞解析器的RoboBrowser構造:

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

謝謝。它解決了警告,但我的程序仍然無法將歌詞發送到即時通訊服務器。它可以在命令行上打印歌詞,然後爲什麼不能將它發送到服務器上? – Bharat

+1

如果您的主要問題是發送文本到一個組,忘記屏幕抓取,只專注於即時通訊。儘量減少你的例子。瞭解如何創建[mcve]。 –

相關問題