Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя [RSS Feed]

#1 Май 13, 2015 16:05:27

aibolit
Зарегистрирован: 2015-05-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя

Здравствуйте!

Возникла такая интересная задача. Существует ресурс для музыкантов promodj.com. К особенностям данного ресурса относится существование колонки «здесь были» на странице каждого пользователя, куда заносятся гиперссылки на страницы последних посетителей. Одним словом, если пользователь топ99999 заходит на страницу пользователя топ1, то ссылка на топ99999 какое-то небольшое время провисит на странице топ1.

Это создаёт интересный механизм для промоушена авторов, которые пока не так популярны, но пишут интересную музыку. Что особенно приятно — это то, что данный механизм не нарушает правила сайта и никого не раздражает, в отличие от, скажем, спама в личку со ссылками на чьи-то материалы с «промо-аккаунтов».

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

  1. Скрипт запускается и работает, пока его не закроют, в фоновом режиме
    Скрипт читает из текстового файла ссылки на страницы, и поочерёдно открывает (в фоне) эти страницы
    При открытии страницы передаётся необходимая информация о пользователе, чтобы сервер обработал запрос для конкретного пользователя, а не анонимно
    После завершения работы со всеми ссылками из файла скрипт уходит в сон на заданный промежуток времени (наглеть и забивать весь трафик своей персоной мы тоже не хотим)

Если у кого-то из уважаемых посетителей возникнет желание решить эту задачу и написать скрипт, оказав помощь музыкантам, то буду вам весьма благодарен. Если нет — всё равно спасибо за ваше время и за прочтение данного поста.

PS: В качестве продвинутой опции было бы красиво извлекать ссылки на страницы популярных пользователей не из файла, а из разнообразных чартов на сайте наподобие топ-100, но это, полагаю, существенно и без необходимости усложнит задачу.

Отредактировано aibolit (Май 13, 2015 16:06:29)

Офлайн

#2 Май 13, 2015 16:14:49

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя

пишите на почту, может и помогу))



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Май 14, 2015 15:23:38

aibolit
Зарегистрирован: 2015-05-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя

Итак, код написан. За содействие горячо благодарю пользователя 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()

Офлайн

#4 Май 14, 2015 15:28:54

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя

aibolit
Итак, код написан. За содействие горячо благодарю пользователя Jabbson с портала Cyberforum, чей код привожу ниже (и уже им пользуюсь):

И что Вы от нас хотите, собственно?

Офлайн

#5 Май 14, 2015 15:37:10

aibolit
Зарегистрирован: 2015-05-13
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя

4kpt_III
Что я хотел вчера, подробно описано в заглавной теме. Теперь, когда задача решена, сообщаю об этом пользователям, чтобы они не тратили своё время, и предлагаю полученное решение задачи тем посетителям, которым оно пригодится.

Впрочем, скрипт запускается лишь один раз, в то время как удобнее было бы, чтобы он висел в фоне и запускал обход в цикле через заданный дилей, если есть желание, можете помочь с этим кодом — но тут через какое-то время я должен справиться самостоятельно)

Отредактировано aibolit (Май 14, 2015 19:08:07)

Офлайн

  • Начало
  • » Центр помощи
  • » Помощь в создании скрипта, который открывает html-страницы от лица заданного пользователя[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version