2

Ich habe einen Liedtext-Bot in Python erstellt. Ich vertreibe Texte von genius.com mit Robobrowser, aber es sendet den Text nicht an die Gruppe.Mein Songtext sendet keine Saiten an den Server

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

ich Ihre Bilder auf Ihre Frage hinzugefügt, aber es ist viel mehr empfohlen, Ihre Fehler als Text einzufügen. – Lafexlos

+0

Okay danke @Lafexlos – Bharat

+2

Das ist kein Fehler, es ist eine Warnung und es sagt Ihnen, wie Sie es beheben können. –

Antwort

0

Ist das ein Tippfehler in der zweiten Zeile? Dies gibt Ihnen wahrscheinlich einen Fehler im Python-Code.

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

Um die Warnung loszuwerden, folgen Sie dem Rat von the issue discussion on github.

Führen Sie den Parser an den RoboBrowser Konstruktor: statt Bild

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

Danke Mann .. Es löste Warnung, aber immer noch kann mein Programm den Text nicht an den Instant Messenger Server senden. Es kann den Liedtext in der Befehlszeile dann drucken, warum es nicht auf dem Server senden kann? – Bharat

+1

Wenn dein Hauptproblem darin besteht, Text an eine Gruppe zu senden, vergiss das Screen Scraping und konzentriere dich nur auf den Instant Messenger. Reduziere dein Beispiel so klein wie möglich. Sehen Sie, wie Sie ein [mcve] erstellen. –

Verwandte Themen