Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2

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

13.05.2015, 16:01. Показов 6478. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

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

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

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

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

В качестве продвинутой опции было бы красиво извлекать ссылки на страницы популярных пользователей не из файла, а из разнообразных чартов на сайте наподобие топ-100, но это, полагаю, существенно и без необходимости усложнит задачу.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2015, 16:01
Ответы с готовыми решениями:

Создать скрипт который выводит имя пользователя, компьютера и домена пользователя которым выполняется скрипт
С помощью скрипта выведите имя пользователя, компьютера и домена пользователя которым выполняется скрипт. Большая благодарность тому кто...

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

Нужен простейший php скрипт, который выводит ip. днс,маску и шлюз того пользователя который находится на странице
Нужен простейший php скрипт, который выводит ip. днс,маску и шлюз того пользователя который находится на странице

3
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
14.05.2015, 11:18
Лучший ответ Сообщение было отмечено aibolit как решение

Решение

Теоретически вот так должно работать:

Тут я логинюсь с логином SuperBoom (имя: Долли) с паролем superpass и посещаю страницу пользователя spam84box (имя: Колли).
Линки берутся с топ100.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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()
после этого на странице посещений Колли:
1
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2
14.05.2015, 15:08  [ТС]
Потрясающе — скрипт работает! Спасибо тебе огромное, добрый человек! Будь уверен, из этого кода будет извлечено много пользы)

Про колонку: она отображается на странице каждого пользователя (отметил на приложенном скриншоте).

P.S.: Поставил 4 разные версии Python, пока смог подключить и requests, и lxml и cssselect (lxml был капризен к версии, а в 2.7.0 не нашёл Scripts/pip) , но в итоге всё замечательно
Миниатюры
Скрипт, который открывает html-страницы от лица заданного пользователя  
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
14.05.2015, 15:19
Всегда пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2015, 15:19
Помогаю со студенческими работами здесь

В место открытия страницы - открывает index.html
Здравствуйте. Не нашел чего-то куда написать.. поэтому напишу здесь. если что, то модераторы, перенесите тему в нужный раздел, пожалуйста. ...

скрипт, который: - запрашивает у пользователя имя файла
скрипт, который: - запрашивает у пользователя имя файла и текстовую строку; - проверяет наличие файла в текущей папке; - если файл...

скрипт, который принимает от пользователя натуральное число
скрипт, который принимает от пользователя натуральное число 5 < N < 15, формирует список из N псевдослучайных целых чисел со значениями в...

Скрипт который выводит название страны пользователя (по айпи)
Парни, привет. Может кто поможет. Нужен скрипт который будет выводить на страницу html название страны пользователя (судя по айпи) или...

сделайте скрипт который выводит местное время пользователя
заранее спасибо скиньте код и не ругаться на автора


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru