» »

Hobi projekt

Hobi projekt

black ice ::

Že nekaj časa programiram (relativen pojem), a kljub temu nisem napisal še nobenega dejansko uporabnega programa. Opazil sem, da po torrent straneh periodično iščem iste ključne besede (khm, legalne seveda, da se ne bo kdo spotaknil ob to). Evo ideje - avtomatizacija torrent aktivnosti.

Moje znanje obsega nekaj C++, nekaj C#, nekaj PHP, nekaj Bash skriptiranja, potem se pa seznam počasi končuje. Ker je to moj prvi konkreten programerski hobi projekt do sedaj, seveda ne vem kako se lotiti zadeve. Kljub temu je nekje potrebno začeti.

Po nekaj minutah googlanja sem izvedel, da je nekdo že to naredil - v Pythonu. Zadeva dela, kljub temu se jaz iz tega nisem naučil čisto nič. Cilj: napisati lasten programček oz. skripto. Še tole: OS na katerem bi zadeva laufala je Ubuntu, omejil bi se na zgoraj omenjene jezike.

Zadevo sem si zamislil takole:
-zaenkrat bi se omejil samo na tracker TPB
-TPB omogoča RSS feede, torej jih lahko uporabim, da ne bo potrebno prečesavati celotne strani
-preverjanje RSS feedov na x enot časa, za kar bi lahko uporabil cronjob(e)
-Transmission omogoča watch direktorije, torej moram samo downloadati željene .torrent datoteke in Transmission jih bo sam zagnal po nekem intervalu
-nekako je potrebno hraniti podatke o iskanih ključnih besedah in že downloadanih .torrent datotekah, najenostavneje bi bilo kar v txt datotekah

Kaj storiti, ko txt datoteke postanejo obsežne? Mislim predvsem na datoteko, ki hrani že downloadane naslove. Kako pospešiti iskanje v tem primeru? Indeksiranje?
Nimam občutka kaj se smatra pod obsežno. Je to 1000 vnosov? 10 000? 1 000 000 vnosov?

Glede na rezultate googlanja bi lahko uporabil tudi bash. Kaj menite?

Prosim za konstruktivne kritike, ker sem za razliko od ostalih domyhomework in podobnih tem v tem področju foruma vsaj pokazal nekaj samoiniciative.

Letalec ::

1. Za hranjenje podatkov se pri vsakem "večjem" projektu uporablja podatkovna baza. V tvojem primeru zadevo absolutno potrebuješ. Išči pod klučno besedo SQL (MySQL), preberi si tutoriale using databases, itd. Gre pa pri podatkovnih bazah za nekako ločeno vejo programiranja. Potrebuje a se jih pri čisto vsaki, ampak res vsaki spletni strani/aplikaciji kjer vnašaš kašne podatke oz. komentarje. Tako so baze obvezno znanje vsakega programerja. Če se jih boš naučil zaradi tega projekta, boš pridobil na znanju ogromno.

2. Sicer ne vem če si seznanjen, ampak za vsak projekt je skoraj obvezna uporaba verzionirnega sistema. Poglej si SVN oz. Git. Okvirna ideja le teh je, da avtomatsko delaš nekakšne back-upe. Tako ob primeru, da spremeniš par vstic kode in podreš cel projekt, samo stisneš "prevrti na X-ti backup".

Za kaj več bi moral točno razumeti kaj točno hočeš sprogramirati. Kaj si imel v mislih z "avtomatizacijo"? Ko dodajo nov torent na piratebay, ga začneš loudat? Boš zloudal na disk cel piratebay?

black ice ::

1.Glede baz smo na faksu že nekaj delali v tej smeri. Recimo, da obvladam osnove.
2.Nekaj časa nazaj sem uporabljal SVN. Torej imam tudi to vsaj osnovno pokrito.
3.Ne, samo specifičen del, ki je meni zanimiv. Zato sem zgoraj pisal o iskalnih besedah itd.

keworkian ::

MySQL baza z dvema tabelama content in keywords. PHP za pregledovanje RSS feedov. To je dobre 3 ure dela za tvoje znanje.
Obscenities in B-Flat

win64 ::

In kaj bi ti sploh hranil v datoteki?

Če prav razumem kaj hočeš narediti:
- Ti torej hočeš narediti zahtevek tipa http://tracker?s=kljucne+besede
- Pobrati stran dol
- jo sparsat(prebrati podatke o torrentu in torrent sam)
- dodatno filtirat glede na podatke(odstraniti torrente starejše od zadnjega pregleda)
- poslati torrente bittorrent odjemalcu
- zapisati v datoteko, da si pregledal te ključne besede na tem trackerju?

technolog ::

Nekaj takega že obstaja.

http://torrentz.eu/

Zgodovina sprememb…

black ice ::

win64 je izjavil:

In kaj bi ti sploh hranil v datoteki?

Če prav razumem kaj hočeš narediti:
- Ti torej hočeš narediti zahtevek tipa http://tracker?s=kljucne+besede
- Pobrati stran dol
- jo sparsat(prebrati podatke o torrentu in torrent sam)
- dodatno filtirat glede na podatke(odstraniti torrente starejše od zadnjega pregleda)
- poslati torrente bittorrent odjemalcu
- zapisati v datoteko, da si pregledal te ključne besede na tem trackerju?

Ja. S tem, da bi uporabil RSS feed iz katerega bi filtriral uporabne podatke(linke).

MrBrdo ::

Mislim da je za tvoj projekt dosti bolj primeren SQLite namesto MySQL. Bo dosti bolj enostavno, ne rabiš nobenega strežnika, ko hočeš uporabljat bazo enostavno poveš ime datoteke, potem pa uporabljaš na isti način kot MySQL.
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

black ice ::

@MrBrdo: Hvala, tega nisem vedel.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Blink in Partis RSS feed

Oddelek: Pomoč in nasveti
206550 (696) Boyo
»

The Pirate Bay se vrača kot Feniks (strani: 1 2 )

Oddelek: Novice / Omrežja / internet
5023323 (17748) antonija

Težave s Partisom

Oddelek: Omrežja in internet
185304 (4795) jurre
»

torrent tracker

Oddelek: Pomoč in nasveti
195028 (4536) Izi
»

Skripta za prikaz najnovejšega na forumu

Oddelek: Izdelava spletišč
391654 (1259) c0dehunter

Več podobnih tem