Onko mahdollista tehdä sellainen sovelma, joka kirjautuisi tunnuksillani Facebookiin, etsisi kaikki ne, joilla on syntymäpäivä tänään, kirjoittaisi seinälle onnittelut ja kirjautuisi ulos? Eräs tuttuni väitti, että Facebook blokkaa tuollaiset botit. Haluaisin myös sellaisen botin, joka etsisi puolestani eri työnvälityssivuilta kaikki työpaikat, joissa esiintyy sana matematiikka tai matemaatikko.
Jaska kirjoitti:
Onko mahdollista tehdä sellainen sovelma, joka kirjautuisi tunnuksillani Facebookiin, etsisi kaikki ne, joilla on syntymäpäivä tänään, kirjoittaisi seinälle onnittelut ja kirjautuisi ulos? Eräs tuttuni väitti, että Facebook blokkaa tuollaiset botit.
Varmasti on, se tuskin on edes kovin vaikeaa. Mikäli sen botin tekee kunnolla, ei Facebook voi mitenkään tietää, onko kyseessä botti vai ihminen.
Jaska kirjoitti:
Haluaisin myös sellaisen botin, joka etsisi puolestani eri työnvälityssivuilta kaikki työpaikat, joissa esiintyy sana matematiikka tai matemaatikko.
Tuokaan ei ole kovin vaikeaa. Jos haluat enemmän apua, niin kerro mille työnvälityssivulle botti pitäisi tehdä.
Olen vielä aika aloittelija näissä asioissa.
-tossu- kirjoitti:
Tuokaan ei ole kovin vaikeaa. Jos haluat enemmän apua, niin kerro mille työnvälityssivulle botti pitäisi tehdä.
Olisi kiva saada sellainen lista, jossa olisi koottu netistä löytyvät avoimet paikat. Mieleen tulee lähinnä sivut http://www.mol.fi/paikat/ , http://www.aarresaari.net/jobboard.htm , http://monster.fi/ ja http://sisaanheitto.fi/?Avoimet_ty%F6paikat .
mol sanahaku
aarresaari etsi hakusanalla
monster hakusana
sisaanheitto ei suoraan, tee oma etsijä, joka käy kaikki linkit avoimiin työpaikkoihin ja iskee näytölle jos löytyy sana matematiikka, matemaatikko
jos haluat automaation, niin sitten vaan laitat sen hakemaan noilla sanoilla ja keräämään linkkilistaa
Ilmeisesti pitäisi opetella käyttämään Snoopyä, jotta saisin lähetettyä dataa sanahaulle vai kuinka?
Oikeastaan voit käsitellä HTML:ää ihan muutenkin.
Jaska kirjoitti:
Ilmeisesti pitäisi opetella käyttämään Snoopyä, jotta saisin lähetettyä dataa sanahaulle vai kuinka?
Mitä ihmeen Snoopyä?
Se miten saat lähetettyä dataa sanahaulle, riippuu käyttämästäsi ohjelmointikielestä.
PHP:tä käytän. Snoopy on käsittääkseni PHP-kirjasto, jolla voi simuloida nettisurffailua.
Voit toki käyttää jotain hienoa kirjastoakin, mutta jos sivusto ei vaadi kirjautumista tms. hienouksia, on yksinkertaisempaa ladata sivu suoraan funktiolla file_get_contents. Tarvittaessa ylimääräisiä HTTP-otsikoita tai POST-dataa voi lisätä virtakontekstin avulla.
Tuolla funktiolla ajattelin haun toteuttaa, mutta jotta saisin oikean sivun parsittavaksi, minun pitäisi syöttää sivulle http://www.mol.fi/paikat/ hakusanaksi matematiikka ja painaa Etsi-painiketta. Miten nuo kohdat saa automatisoitua?
Ei, riittää että Metabolixin mainitsemalla file_get_contents()-funktiolla haet sivun http://www.mol.fi/paikat/Search.do?lang=fi&searchExecute=true&municipalities=&province=---&search=Etsi&country=---&freshness=1&duration=11&type=21&rentalLabour=---&searchphrase=matematiikka.
Toinen vaihtoehto on tilata RSS syöte: http://www.mol.fi/paikat/Search.do?lang=fi&searchExecute=true&municipalities=&province=---&search=Etsi&country=---&freshness=1&duration=11&type=21&rentalLabour=---&searchphrase=matematiikka.&rss=true&id=6e51d4700a693333014c12efefd9691a
Totta. Tuo onkin yksinkertaisempaa kuin nappien painamisen simuloiminen. Kiitos avusta! Toisaalta olisi kiva opetella tuo nappien painallustekniikkakin vaikkapa yllä mainitsemalla Facebookin automaattionnittelijalla.
Palvelimen kannalta automaattinen ja nappia painamalla tehty sivunlataus eivät mitenkään eroa toisistaan, jos vain lähetät samanlaisen pyynnön. Graafisia botteja on typerää tehdä, jos saman voi tehdä helpomminkin. Graafinen botti on monin verroin alttiimpi virheille ja sivuston muutoksille, esimerkiksi muutaman pikselin muutoksille sivuston ulkoasussa.
Nyt sain vähän ristiriitaista tietoa. Sivun http://stackoverflow.com/questions/3998586/
Olet varmaankin käsittänyt jotain väärin – kuten tuonkin keskustelun aloittaja. Tuossahan puhutaan suunnilleen siitä, voiko Pythonilla laittaa oman Firefoxinsa kirjautumaan Facebookiin, eikä suinkaan siitä, voiko itse Pythonilla kirjautua ja suorittaa toimenpiteitä. Kuten tuollakin sanotaan:
Stack Overflow'n käyttäjä Peter Bailey kirjoitti:
As an example, if you log into Facebook on you phone - you can't then pull up Facebook on your desktop machine and be logged in.
Mikään ei estä surffaamasta Facebookissa Pythonilla vaikka joka päivä – se vain on paljon vaikeampaa kuin selaimella surffailu, joten aika harva viitsii. Pythonilla voi tehdä samat asiat (ja usein enemmänkin) kuin selaimella ja saada täsmälleen samat sivut (HTML-koodina) ohjelman muuttujiin.
Facebookkiin on varmaan joku API olemassa, kannattaa tutkia jos semmosella onnistuis ensin kuin alkaa perinteisellä tapaa parsimaan sivuja. Kai Facebookille on esim. jotain iPhone sovelluksiakin, jotka varmasti perustuu API pyyntöihin.
Ihan arvuuttelen, en itse FB:tä etes käytä, mutta valmiilla rajapinnalla tosiaan voi olla 10 kertaa helpompaa tehdä asioita kun jollain sivujen parsimisella.
Matson kanssa samaa mieltä. API löytyy ja tukee kaikennäköisiä juttuja, joita käytetään mm. uudemmissa peleissä, desktop aplikaatioissa yms. yms. eli käytä sitä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.