Cornucopia?

Aktuellt

Reklam: Få 200:- SEK om du skaffar ett Revolutkort

Detta inlägg bör ses som marknadsföring för Revolut, och är alltså reklam. Revoluts förpackning för deras premium metallkort. Jag ha...

2019-03-27 17:29

Offertförfrågan: Moderatorrobot till bloggen

Bloggens moderatorrobot fungerar inte, och tidigare programmerare verkar inte ha tid att laga den, eller programmera runt eventuella buggar i Googles Blogger-API. Jag behöver nu en ny robot, och tar in offerter på detta.

- Roboten ska köras från kommandoraden på en MacOS-server, och kommer schemaläggas med Cron. 

- Den ska vara skriven i ett scriptspråk, lämpligen Perl eller Python.

- Den ska radera alla kommentarer från alla signaturer (ID) i en lista, utifrån de senaste blogginläggen.

- Antal slagningar mot Googles Blogger-API ska minimeras, eftersom den dagliga kvoten är begränsad. Schemaläggningen ovan är till för att kunna anpassa intervallet utifrån API-belastningen. 

Tidigare källkod finns för den som vill utgå från detta, och eventuellt fixa buggarna i en egen testmiljö. Genomförandet bör inte ta många timmar och uppdraget bör inte kosta mer än några tusenlappar. Krav på leverantören är F-skattsedel och fakturering av arvodet. Det står bägge parter fritt att använda koden i vidare projekt.

Eventuellt är det specifikt min blogg som Google inte kan hantera på grund av att den passerat någon hårdkodad gräns för antal kommentarer, för kommentarsgränssnittet visar inte några nya kommentarer sedan i januari. Att använda webgränssnittet för att radera kommentarer fungerar således inte. 

En variant är att programmera en robot som läser de senaste X blogginläggens kommentarer ur websidan, och hanterar en inloggning hos Blogger och använder raderingsfunktionen på respektive blogginläggssida istället för API:t. Uppenbarligen finns det spamrobotar som klarar av att posta, så det borde gå att göra en robot som kan radera. 

För denna kanske mer framtidssäkra lösning krävs: 1. Inloggning på Blogger. Cookiehantering för sessionen. Skanna av kommentarerna i de senaste X inläggen. Använda "radera"-länken för oönskade kommentars-ID och sedan bekräfta raderingen på den resulterande sidan. Fördel med en sådan lösning är också att den inte belastar kvoten på API:t och således kan agera snabbare än tidigare maximalt två minuter. Detta kräver inte heller någon API-kunskap, utan bara tolkning av HTML. Html Cite class=user kan användas för att plocka fram kommentator-id och efterföljande deletecomment-url används för att gå vidare till sidan där kommentaren slutligen raderas. Bör inte vara så svårt att plocka fram och jämföra id mot en lista. I övrigt handlar det bara om att hantera inloggning hos Blogger för adminrättigheter.

Det skulle teoretiskt vara möjligt att få ut kommentar-id och all annan info ur RSS-flödet, och skapa en egen raderings-URL utifrån detta, och anropa, samt bekräfta. Sannolikt enklaste lösningen, kräver fortfarande dock hantering av inloggning hos Blogger. Tillägg: Vilket inte är enkelt längre visar lite research. Variant vore att göra en manuell inloggning och spara ner relevant cookie-innehåll till en fil och sedan använda i programmet.

Exempel på raderings-URL är https://www.blogger.com/delete-comment.g?blogID=8354057230547055221&postID=2876886410275675568 och bekräftelsehanteringen kan sedan byggas upp som HTTP POST utifrån data i det svaret.

I teorin skulle jag med lite enkel curl och lätt shellscript kunna göra en sådan lösning själv, men jag har inte tid. I synnerhet inloggningen är ett helvete att ordna.

Tillägg: Befintlig kod för inloggning i API skulle kunna användas för radering, medan kommentars-ID hämtas från RSS-flödet?

Kanske finns det redan någon konfigurerbar webrobot som kan användas till detta? Men sannolikt krävs API-lösningen och inloggning med OAUTH2.

Seriösa svar till [email protected]
Nedanstående kommentarer är inte en del av det redaktionella innehållet och användare ansvarar själva för sina kommentarer. Se även kommentarsreglerna. För att din kommentar inte automatiskt ska raderas måste du sedan 28:e juni 2019 finnas på en VITLISTA. Skriv med kvalitet och följ kommentarsreglerna, så kan du komma in på listan. Att vara vitlistad betyder inte att kommentaren stöds av bloggen, bara att kommentatorn når över en viss lägsta kvalitet och inte bryter mot reglerna. Genom att kommentera samtycker du till att din kommentar, tidsstämpel, profillänk och pseudonym sparas av Googles Blogger-system så länge det är relevant, dvs så länge blogginlägget är publicerat.

12 kommentarer:

  1. Inressant uppdrag. Dock inte för mig just nu.
    Men jag tror att chanse blir mycket större om du lovar dedicerade exemplar av alla dina böcker till den som fixar detta.

    SvaraRadera
  2. Jämfört med Blogger tror jag Disqus är mer framtidssäkert om än med sina brister.

    Det har hänt att Google plötsligt annonserar nedläggning av välanvända tjänster. Blogger är inte ens omtyckt och ligger nog i farozonen.

    SvaraRadera
    Svar
    1. Disqus har ju inte det bästa track record vad gäller säkerhet ....

      Radera
  3. De som inte har kunskapen, men vill ha den för framtida programmeringsuppdrag, ni kan börja här:

    http://www.microadventure.net/

    Måste medge att jag tyckte det var oförskämt kul att återvända till min barndom, när jag lärde mig basic på ABC80 i medborgarskolan tror jag det var på tidigt 80-tal.

    SvaraRadera
  4. "Genomförandet bör inte ta många timmar och uppdraget bör inte kosta mer än några tusenlappar."

    Alltför småskaligt men det ser inte tekniskt svårt ut, bara en massa otacksamt trasslande med att välja saker ur olika JSON-strukturer för att göra nästa request rätt, osv. Säkert en del testande också. Google har pythonbibliotek för OAUTH2 inloggning.

    ... Lycka till!

    SvaraRadera
  5. Logga in via webbgränssnitt med headless-webbläsare känns betydligtbetydli framtidssäkert eftersom gränssnittet kan förändras. Ett API har som själva syfte att vara ett utlovat standardiserat gränssnit.

    SvaraRadera
  6. Mitt förslag till dig är följande. Skippa att flyga ner till något berg och gör koden själv. Dels mår klimatet(?) bra av det och du får tid över. Du får kod som du själv gjort som du därmed förstår. De kodare du får för några tusenlappar, ja man betalar kring 500 kr för att byta däck numera. Fast det är nog inte kul, det är nog där skon klämmer, man blir bekväm med åldern.

    Såg att din kompis Bengt kommenterade häromdagen.

    SvaraRadera
  7. Selenium löser biffen åt dig ska kolla om kollegan har tid att kika på det

    SvaraRadera
  8. Du kräver väl att mailä krypterad?Jag har för mig att jag läst det någon gång iaf.Kanske vore läge att nämna något om det i inlägget isf.

    SvaraRadera
  9. Då man kan skapa nya konton på några sekunder utan validering och varken profilbild eller visningsman är skyddat eller ens unikt så är väl frågan hur lönt det är att bygga något på nuvarande platform.

    SvaraRadera