Forum » Programiranje » Bolha parser/pajek - prejemanje obvestil o novih oglasih
Bolha parser/pajek - prejemanje obvestil o novih oglasih
rokko ::
Pozdravljeni,
že v naprej se opravičujem če je post v napačni kategoriji ali kaka podobna tema že obstaja - je nisem našel :). Torej išče se pajek(crawler) za spremljanje(obveščanje) o novih "iskanih" oglasov na bolhi. Sigurno si je kdo že kaj takega omislil, le še posharat bi bilo treba.
Če si je mogoče že kdo kaj napisal bi z veseljem podelil kripto žetončke za opravljeno delo :), sicer bom active parser spisal sam.
R!
že v naprej se opravičujem če je post v napačni kategoriji ali kaka podobna tema že obstaja - je nisem našel :). Torej išče se pajek(crawler) za spremljanje(obveščanje) o novih "iskanih" oglasov na bolhi. Sigurno si je kdo že kaj takega omislil, le še posharat bi bilo treba.
Če si je mogoče že kdo kaj napisal bi z veseljem podelil kripto žetončke za opravljeno delo :), sicer bom active parser spisal sam.
R!
HotBurek ::
o novih "iskanih" oglasov na bolhi.
Kakšni so to novi iskani oglasi? A tisti iz autocompleta?
Kakšni so to novi iskani oglasi? A tisti iz autocompleta?
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
sandmat ::
rokko ::
Očitno sem preveč zakompliciral vprašanje :), poenostavljeno; išče se aktivni "spremljevalec" novih oglasov in ob določeni ključni iskani besedi(oglasu) dobiš email/sms/whatever.. avto.net je to funkcijo(seveda pač za avte) imel že leta 2004, sedaj jo ponovno iščem na strani in mi nekako ne uspe zadeve najti?
blackbfm ::
Prehitro boš blokiran s strani bolhe, ker je takšno početje trivialno identificirati.
sam sem imel neko skripto svoj čas ki je delala poizvedbe vsakih 15 min.. nobene blokade ni blo
shadeX ::
Jaz sem pred časom spisal Android app za tole, kar OP sprašuje ampak sem jo upokojil, ko sem nehal dilat po bolhi. Ne moreš verjet koliko oglasov živi gor samo 5 minut.
In ja tudi sam nisem imel nobene blokade, sem pa osveževal stran na vsako minuto (na izdelek). Če bi imel v iskanju 20 izdelkov, bi osveževal stran 20x na minuto, ampak v praksi tega nikol nisem delal, ker sem targetiral povečini samo telefone.
In ja tudi sam nisem imel nobene blokade, sem pa osveževal stran na vsako minuto (na izdelek). Če bi imel v iskanju 20 izdelkov, bi osveževal stran 20x na minuto, ampak v praksi tega nikol nisem delal, ker sem targetiral povečini samo telefone.
shadeX ::
APK-ja nisem nikamor distributiral, je bil za osebno rabo in ga nimam več. Drugače pa v vsakem primeru zadeva ni več uporabna:
- Je delovala izključno prek mojega webservica (ker v primeru, da bi zadeva kam ušla, bi še vedno mel nek nadzor nad njo in sklopil zadevo na daljavo). Ta webservice že dolgo ne laufa več.
- Stvar je bila namenjena oglasom, ki niso plačljivi. Takrat je bolha mela to še v povojih in se nisem pretirano sekiral za to, po drugi strani pa so plačljivi oglasi najdražji in to ni bilo tisto kar sem si sam želel. Cilj appa je dobiti ugodne oglase v čimkrajšem času (ker so hitro prodani).
Torej že zaradi druge točke oglasi odpadejo ker vsaj v sekciji od telefonov, ne bi prikazalo nobenega več ker so sedaj vsi plačljivi.
P.S
Problem je bil tudi poraba baterije. Predstavljaj si ti skoz v ozadju hendlat neke podatke (uporaba neta, računanje, parsanje..). Telefon namesto 2 dni je zdržal nekje 15 ur, pa roke sem si lahko z njim grel. Če sem imel osveževanje na 20 minut, sem pa zgubljal oglase.
- Je delovala izključno prek mojega webservica (ker v primeru, da bi zadeva kam ušla, bi še vedno mel nek nadzor nad njo in sklopil zadevo na daljavo). Ta webservice že dolgo ne laufa več.
- Stvar je bila namenjena oglasom, ki niso plačljivi. Takrat je bolha mela to še v povojih in se nisem pretirano sekiral za to, po drugi strani pa so plačljivi oglasi najdražji in to ni bilo tisto kar sem si sam želel. Cilj appa je dobiti ugodne oglase v čimkrajšem času (ker so hitro prodani).
Torej že zaradi druge točke oglasi odpadejo ker vsaj v sekciji od telefonov, ne bi prikazalo nobenega več ker so sedaj vsi plačljivi.
P.S
Problem je bil tudi poraba baterije. Predstavljaj si ti skoz v ozadju hendlat neke podatke (uporaba neta, računanje, parsanje..). Telefon namesto 2 dni je zdržal nekje 15 ur, pa roke sem si lahko z njim grel. Če sem imel osveževanje na 20 minut, sem pa zgubljal oglase.
Zgodovina sprememb…
- spremenil: shadeX ()
amacar ::
Zakaj bi to laufal na telefonu. Daš na nek poceni server pa je.
Za avtonet imam js cron na 5min na najcenejšem gostovanju v slo za 10EUR na leto.
Za avtonet imam js cron na 5min na najcenejšem gostovanju v slo za 10EUR na leto.
Zgodovina sprememb…
- spremenil: amacar ()
shadeX ::
Zakaj bi to laufal na telefonu.
Ker pred računalnikom nisi 24/7, telefon pa imaš skoz pri sebi in z njim tudi kličeš. Z enim klikom si prodajalca lahko takoj poklical, brez vpisovanja številke v dialpad.
amacar ::
Kakšen argument je pa to Ko najdeš oglas ti skripta pošlje mail, sms in prav tako ne rabiš biti 24/7 pred računalnikom.
d4vid ::
Zakaj bi to laufal na telefonu. Daš na nek poceni server pa je.
Za avtonet imam js cron na 5min na najcenejšem gostovanju v slo za 10EUR na leto.
Bi lahko posheral skripto za avto.net?
Main PC: Asus PN50 | AMD Ryzen 5 4500U | 16 GB RAM | 256 GB SSD
PC2: HP Z400 | Intel Xeon L5630 | 6 GB RAM | 120 GB SSD
Laptop: HP Elitebook 840G1 | Intel i5 | 8 GB RAM | 256 GB SSD
PC2: HP Z400 | Intel Xeon L5630 | 6 GB RAM | 120 GB SSD
Laptop: HP Elitebook 840G1 | Intel i5 | 8 GB RAM | 256 GB SSD
shadeX ::
xardas ::
Zakaj pa ne bi, recimo, laufali tole na piju? Ali pa uporabili kakšno storitev, ki v takšni ali drugačni obliki to funkcionalnost že ponuja?
Zgodovina sprememb…
- spremenilo: xardas ()
rokko ::
Zakaj pa ne bi, recimo, laufali tole na piju? Ali pa uporabili kakšno storitev, ki v takšni ali drugačni obliki to funkcionalnost že ponuja?
Odlična "storitev", testiram in da vidimo :), tenks.
Sicer pa a res nima nihče spisane kake skriptice?
Primer uporabe:
http://www.bolha.com/iskanje?q=snowboar...
Če se pojavi nov oglas z ključnima besedama snowboard in ftwo dobiš mail, thats it.
amacar ::
Ce ga znas sam spisat (kot si omenil v prvem komentarju) je to najboljsa opcija. V tem casu bi bil ze napisan, sploh ce ne rabis nic fancy.
Smrkc ::
tole python skripto sem uporabil za iskanje koles, tako da pač spremeni url na kategorijo, ki te zanima. Ostalo boš pa tudi pogruntal...
import bs4 import unicodedata import urllib2 import json import time import datetime from najdisi_sms import SMSSender def get_timestamp(string): date_time = string.replace(" ob", "").strip() if ". " in string: return time.mktime(datetime.datetime.strptime(date_time, "%d.%m. %Y %H:%M").timetuple()) else: return time.mktime(datetime.datetime.strptime(date_time, "%d.%m.%Y %H:%M").timetuple()) def bolha(sms, buzz): for i in xrange(1,10): try: html = urllib2.urlopen("http://www.bolha.com/rekreacija-sport/kolesarstvo/kolesa/cestna-kolesa/?listingType=list&page={}".format(i)) except Exception, e: print e, "Page", i, "does not exist" break soup = bs4.BeautifulSoup(html, "lxml") contents = [unicodedata.normalize('NFKD', at.contents[2].replace("\t","").strip()).encode('ascii', 'ignore') for at in soup.find_all("div", class_="coloumn content")] titles = [unicodedata.normalize('NFKD', at.find("h3").text).strip().encode('ascii', 'ignore') for at in soup.find_all("div", class_="coloumn content")] urls = [at.find("a")["href"].split("//")[-1].split("&")[0] for at in soup.find_all("div", class_="coloumn content")] prices = [unicodedata.normalize('NFKD', at.text).strip().encode("ascii", "ignore") for at in soup.find_all("div", class_="coloumn prices")] zipped = zip(titles, contents, prices, urls) for ad in zipped: relevant_text = [x.lower() for x in ad[:2]] if any(word in " ".join(relevant_text) for word in buzz): extended = urllib2.urlopen("http://www.bolha.com/{}".format(ad[-1])) #parse ad soup_ext = bs4.BeautifulSoup(extended, "lxml") ad_info = soup_ext.find("div", class_="adInfo") info_paragraphs = ad_info.find_all("p") if len(info_paragraphs) > 3: #we've got private auction added = get_timestamp(info_paragraphs[1].contents[1]) modified = get_timestamp(info_paragraphs[2].contents[1]) # print title, "\n", content, price_ diff = (time.time() - modified) / 3600 text_message = "B:{title} za {cena}\n{vsebina}".format(cena = ad[2], title = ad[0], vsebina = ad[1]) if diff <= 1: sms.send("040******",text_message[:160]) if __name__ == "__main__": sms = SMSSender('username', 'password') buzz1 = ["iščem", "vse", "te", "besede"] bolha(sms, buzz1)
rokko ::
Smrkc: poklon, že pridno laufa na cronu :), sem ti napisal na zs prošnjo po bilokaterem walletu, dobiš darilo :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Skripta za Bolho.Oddelek: Programiranje | 4430 (1842) | planina91 |
» | Fake traffic generatorOddelek: Omrežja in internet | 2246 (1442) | HotBurek |
» | [python] project euler problemOddelek: Programiranje | 1280 (832) | Spura |
» | Beleženje udeležbe v prometu (strani: 1 2 )Oddelek: Loža | 10892 (8023) | SeMiNeSanja |
⊘ | python pomočOddelek: Programiranje | 3402 (2323) | Mavrik |