python + js

 
0
 
Python
ava
nikaan | 13.04.2010, 16:38
Я решил на досуге поиграться с питоном - и для этого написать себе утилиту, которая нужна.

подробнее - есть сайт http://classic-online.ru/account/playlist/ (и много подобных) хочется уметь прослушивать треки В СЛУЧАЙНОМ порядке, а не подряд.

Насколько я понимаю, вопрос в том, как запустить соответствующий script со странички. (получив, предварительно, список их всех со странички и распознав, какие из них проигрыватели...)

Пока из достижения - мой скрипт на питоне смог залогиниться на этом сайте и получить html-код странички :)

Теперь, собственно, вопль о помощи :
я про web не знаю ничего. Ни как работают сервера, ни html (хотя и накарябал себе сайт - копируя кусочки кода с понравившихся страничек), ни js, ни что такое аякс, ни вообще ничего - поскольку по образованию я не программист.

+ я ограничен по времени (я не могу взять все стандартные учебники по вышеперечисленному и прочитать. Разве что по ночам.)


Поэтому просьба - если Вы представляете себе, как сделать то, что я хочу (предварительно посмотрев на код странички http://classic-online.ru/account/playlist/ или http://www.styrov.ru/media.html?PHPSESSID=...39b8b0451d7e01b smile), то киньтесь ссылками, прочитав которые, я смогу это сам сделать.

Можно ссылки на книги - но с указанием глав(опять же, проблема времени))

Всё это в предположении, что я не знаю ничего :(

спасибо.
Kommentare (4)
ava
pythonwin | 13.04.2010, 23:20 #
Цитата (nikaan @ 13.4.2010, 18:38 findReferencedText)
ни html (хотя и накарябал себе сайт - копируя кусочки кода с понравившихся страничек), ни js, ни что такое аякс, ни вообще ничего - поскольку по образованию я не программист.

нужно учить
nikaan, я перечитав несколько раз Ваш пост, понял что Вы не знаете html, css, JS, python и php, но вопроса по программированию или компоненте не нашел. Если Вам нужен рабочий скрипт для проигрывания музыки на вашем ПК, то Вам в раздел программного опбеспечения в зависимости от операционной системы, если же Вам нужен веб-сервис на питоне для предоставления интерфейсов плейлистов посетителям сайта, то нужно смотреть на чём написан сайт - может есть компонента к вашему движку сайта.
ava
nikaan | 14.04.2010, 10:30 #
хорошо, вопрос такой :

как на питоне по страничке узнать список контролов, которые там есть, информацию о них.

И как их запустить потом.

как обычно проигрывается музыка, при нажатии на кнопочку? (данные кусочками передаются моему flash-плейеру? или что?)


ps.я в процессе изучения python. Знаю java, писал на C#, VB. Но о web я ничего не знаю, да.
ava
pythonwin | 14.04.2010, 10:35 #
Цитата (nikaan @ 14.4.2010, 13:30 findReferencedText)
список контролов

каких контролов? что Вы имееет под словом "контролы"

nikaan, расскажите лучше о самой цели всех этих действий - зачем это Вам.
ava
nikaan | 14.04.2010, 13:09 #
Список контролов - ну, список кнопочек, которые можно нажимать на страничке.

я писал :
"подробнее - есть сайт http://classic-online.ru/account/playlist/ (и много подобных) хочется уметь прослушивать треки В СЛУЧАЙНОМ порядке, а не подряд."

т.е. там есть кнопочки типа play/pause/stop - их я и назваю контролами.
Кликаешь по кнопочке, музыка играет, ура. Когда трэк заканчивается, начинает играться следующий трэк. И нет никакого способа это изменить - если я хочу слушать музыку в фоновом режиме, то можно слушать только подряд.

Это неудобно. Соответственно, я на каком-нибудь скриптовом языке хотел написать утилитку, которая будет проигрывать случайные трэки со странички.


---
пока я умею только логиниться


import os, sys, time, re, logging, sqlite3, urllib, urllib2, cookielib
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO

COOKIEFILE = '/tmp/cookies1.lwp'
LOG_FILENAME = '/tmp/musicscript.log'
logging.basicConfig(filename=LOG_FILENAME, filemode = 'w', level=logging.DEBUG,)


def test(url):
import urllib
sock = urllib.urlopen(url)
import apihelper
apihelper.help(sock)
print
print str(sock.geturl())

class PostCommand:
def __init__(self, url, req = None):
self.request = req
self.headers = ''
self.url = url

def perform(self):
cj = cookielib.LWPCookieJar()
if os.path.isfile(COOKIEFILE): cj.load(COOKIEFILE)
url_retr = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
self.res = url_retr.open(self.url, self.request).read()
cj.save(COOKIEFILE)
logging.debug("Got to PostCommand request = %s, url = %s"%(self.request, self.url))

class Music:
def __init__(self, mail, password):
self.mail = mail
self.password = password

def login(self, url):
request = 'op=a_login_attempt&email=' + self.mail + '&pass=' + self.password +'&expire=0'
req = PostCommand(url+'actions/login.php', request)
req.perform()
logging.debug("Reply from login:\n" + req.res)


if __name__ == "__main__":
url = 'http://classic-online.ru/'
account = "***"
password = "***"
tmp_file = '/tmp/temp'
account = account.replace("@","%40")
logging.debug('ok')
mylogin = Music(account, password).login(url)



Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden