Форум сайта python.su
Здравствуйте!
Возникла такая интересная задача. Существует ресурс для музыкантов promodj.com. К особенностям данного ресурса относится существование колонки «здесь были» на странице каждого пользователя, куда заносятся гиперссылки на страницы последних посетителей. Одним словом, если пользователь топ99999 заходит на страницу пользователя топ1, то ссылка на топ99999 какое-то небольшое время провисит на странице топ1.
Это создаёт интересный механизм для промоушена авторов, которые пока не так популярны, но пишут интересную музыку. Что особенно приятно — это то, что данный механизм не нарушает правила сайта и никого не раздражает, в отличие от, скажем, спама в личку со ссылками на чьи-то материалы с «промо-аккаунтов».
Соответственно встаёт задача о создании скрипта, который будет удовлетворять таким условиям.
Отредактировано aibolit (Май 13, 2015 16:06:29)
Офлайн
пишите на почту, может и помогу))
Офлайн
Итак, код написан. За содействие горячо благодарю пользователя Jabbson с портала Cyberforum, чей код привожу ниже (и уже им пользуюсь):
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import lxml.html def get_top(): url = 'http://promodj.com/top100' page = requests.get(url).text parser = lxml.html.fromstring(page) links = parser.cssselect('div.title a') return [link.get('href') for link in links] def goDoTheMagic(): with requests.session() as c: url = 'http://promodj.com/login/' login = 'SuperBoom' password = 'superpass' c.get(url) login_data = dict(login=login, password=password, backto='http://promodj.com/g3489107') c.post(url, data=login_data, headers={"Referer": "http://promodj.com/"}) top = get_top() for link in top: print("Visiting ", link) c.get(link) goDoTheMagic()
Офлайн
aibolit
Итак, код написан. За содействие горячо благодарю пользователя Jabbson с портала Cyberforum, чей код привожу ниже (и уже им пользуюсь):
Офлайн
4kpt_IIIЧто я хотел вчера, подробно описано в заглавной теме. Теперь, когда задача решена, сообщаю об этом пользователям, чтобы они не тратили своё время, и предлагаю полученное решение задачи тем посетителям, которым оно пригодится.
Отредактировано aibolit (Май 14, 2015 19:08:07)
Офлайн