Kako napraviti program

poruka: 8
|
čitano: 2.668
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
7 godina
neaktivan
offline
Kako napraviti program

Zelim da napravim program koji poseti odredjenu web stranu, uzme specifican podatak i sacuva ga u bazi. Druga modifikacija koju bih zeleo da napravim je da mi taj odredjeni podatak prosledi putem SMS poruke na telefon.

 

Kako se ovo moze izvesti?

 

Za sada imam iskustva sa radom u Python-u i C#.

 

 

 
0 1 hvala 0
10 godina
neaktivan
offline
Kako napraviti program

Ako imas svoj server onda bi ti bilo najjednostavnije napraviti u PHP-u. Stavis cron job svakih x sati, u samom kodu parsas stranicu sa regexom te spremis u bazu (npr. MySQL). Sta se tice slanja SMS poruka takve usluge se naplacuju tako da bi mozda bilo bolje da saljes mail, ali ako bas hoces slati SMS Twilio pruza takve usluge, prouci njihov API.

 

Mozes pokretati Python isto na serveru no tu se malo kompliciraju stvari, tako da ti je jednostavnije sa PHP-om.

Poruka je uređivana zadnji put čet 27.10.2016 23:25 (tLeon).
Moj PC  
0 0 hvala 0
14 godina
offline
Kako napraviti program

Ako radis program koji radi na tvom racunalu, u c# mozes koristit WebClient. Skines sadrzaj stranice, nadjes sta ti treba i to si spremis u bazu. Za SMS ne znam, ali mozes si slat podatke na mail, a na mobu ces dobijat notifikacije mailova npr...

Lack of money is the root of all evil. George Bernard Shaw
 
0 0 hvala 0
15 godina
neaktivan
offline
Kako napraviti program

 Za napraviti to u pythonu, najjednostavnije bi ti bilo koristiti flask ili django, i njihov pripadajuči db library. Za ovo sa SMS-om, trebaš koristiti neki plaćeni servis koj radi takve stvari, ili uzeti neki mobitel sa SIM karticom i za njega napisati aplikaciju koja komunicira sa tvojim serverom i onda šalje odgovarajuće poruke.

Moj PC  
0 0 hvala 0
11 godina
neaktivan
offline
Re: Kako napraviti program

Evo primjera koji sprema datum zadnje poruke na Bugovom podforumu "Programiranje" u shelve bazu pa šalje email obavijest (preko Gmaila) ako je taj datum veći od prethodne vrijednosti. Jedini nestandardni modul kojeg treba instalirati je beautifulsoup4.

 

import datetime
import shelve
import smtplib
import urllib.request
import bs4

def datum_from_tag(tag):
    a, b, c = tag.text.split()
    if a == 'danas':
        date = datetime.date.today()
    elif a == 'jučer':
        date = datetime.date.today() - datetime.timedelta(days=1)
    else:
        date = datetime.datetime.strptime(b, '%d.%m.%Y')
    return datetime.datetime.combine(date, datetime.datetime.strptime(c, '%H:%M').time())

def last_post_datetime(board_id):
    with urllib.request.urlopen('http://www.bug.hr/forum/board/{}.aspx'.format(board_id)) as f:
        soup = bs4.BeautifulSoup(f, 'html.parser')
    return max(datum_from_tag(datum) for datum in soup.find_all('div', class_='datum'))

def check_board(board_id):
    board_datetime = last_post_datetime(board_id)
    with shelve.open('bug_boards') as d:
        if board_id not in d or board_datetime > d[board_id]:
            notify('New board {} post at {}'.format(board_id, board_datetime))
        d[board_id] = board_datetime

def notify(message):
    username = '<username>@gmail.com'
    password = '<password>'
    with smtplib.SMTP('smtp.gmail.com', 587) as server:
        server.starttls()
        server.login(username, password)
        msg = '\r\n'.join(['From: ' + username, 'To: ' + username, 'Subject: New board post', '', message])
        server.sendmail(username, username, msg)

check_board('48')

 

Slanje obavijesti preko SMS-a iz Pythona možeš pomoću paketa twilio, ali usluga nije besplatna.

13 godina
neaktivan
offline
Kako napraviti program

 

Možeš jednostavno napraviti mobilnu aplikaciju u appinventoru2.

Parsaj podatak koji te zanima iz web sourcea, spremi u varijablu ili bazu

i jednostavno pošalješ kao sms na br. koji želiš. Sve besplatno.

 

 
0 0 hvala 0
7 godina
neaktivan
offline
Kako napraviti program

Hvala svima na odgovorima. Planirao sam da koristim neki od sajtova za besplatno slanje poruka kao sto je na primer http://afreesms.com/

 

Pokusacu da napravim nesto u C# , za sad nemam server tako da cu koristiti WebClient. :)

 
0 0 hvala 0
10 godina
neaktivan
offline
Kako napraviti program

Imas Verification Code tako da neces moci koristiti kao API

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice