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

Как воспользоваться ботом ?

27.02.2016, 21:58. Показов 13415. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
В программирование далеко не вникал и поэтому возникла трудность.
Задают дз на сайте http://gramotei.cerm.ru/ выполнение которого занимает очень много времени .
В сети нашел скрипт http://pastebin.com/raw/AyJ5QizV в описании которого было указано

Суть в том что проверка правильности происходит по средствам js (то есть в браузере) по этому очень легко можно не выполняя заданий отправить ответ о том что оно выполнено.
P.s скрип написан на Python 3, для работы нужно поставить куки своего акаунта (куки привязаны к браузеру по этому юзер агент тоже надо свой вписывать) и номер задания (его можно найти в url при выполнении)

скачал python
PHPSESSID нашел и при выполнении выдает следующее
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # бот для выполнения упражнений
... # сайт: gramotei.cerm.ru
...
... import requests
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
ImportError: No module named 'requests'
>>> import json
>>> import collections
>>>
>>>
>>> #номер упражнения и куки
... rule_id = "117907"
>>> cookie  = "PHPSESSID=pcmo219e5a7l12h7pstm8mfd90"
>>>
>>> #заголовки пакетов
... headers = {"Host": "gramotei.cerm.ru",
...            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko
/20100101 Firefox/43.0",
...            "Accept": "*/*",
...            "Accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3",
...            "X-Requested-With": "XMLHttpRequest",
...            "DNT": "1",
...            "Referer": "http://gramotei.cerm.ru/student/train/"+rule_id,
...            "Cookie": cookie,
...            "Connection": "keep-alive"}
>>>
>>> headers2 = headers
>>> headers2["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8
"
>>>
>>> y = 0
>>> while y < 5:
...     #получение заданий
...     r = requests.post("http://gramotei.cerm.ru/student/train/"+rule_id+"", h
eaders = headers)
...     f = r.json()
...
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
NameError: name 'requests' is not defined
>>>     lol = []
  File "<stdin>", line 1
    lol = []
    ^
IndentationError: unexpected indent
>>>     n = 8
  File "<stdin>", line 1
    n = 8
    ^
IndentationError: unexpected indent
>>>
>>>     for lts in f["words"]:
  File "<stdin>", line 1
    for lts in f["words"]:
    ^
IndentationError: unexpected indent
>>>         SaveDate = '{"id":'+json.dumps(lts["id"])+',"rule_id":'+json.dumps(l
ts["rule"])+',"status":"correct"}'
  File "<stdin>", line 1
    SaveDate = '{"id":'+json.dumps(lts["id"])+',"rule_id":'+json.dumps(lts["rule
"])+',"status":"correct"}'
    ^
IndentationError: unexpected indent
>>>         lol.append(json.loads(SaveDate, object_pairs_hook=collections.Ordere
dDict))
  File "<stdin>", line 1
    lol.append(json.loads(SaveDate, object_pairs_hook=collections.OrderedDict))
    ^
IndentationError: unexpected indent
>>>
>>>         if(n <= 0):
  File "<stdin>", line 1
    if(n <= 0):
    ^
IndentationError: unexpected indent
>>>             data = "data="+json.dumps(lol)
  File "<stdin>", line 1
    data = "data="+json.dumps(lol)
    ^
IndentationError: unexpected indent
>>>             print(data)
  File "<stdin>", line 1
    print(data)
    ^
IndentationError: unexpected indent
>>>
>>>             #отправка предварительного отчета чезез GET
...             url = "http://gramotei.cerm.ru/App/Teacher/ajax.php?save_words=o
k&ex_id="+rule_id+"&saving=0&data="+json.dumps(lol)
  File "<stdin>", line 2
    url = "http://gramotei.cerm.ru/App/Teacher/ajax.php?save_words=ok&ex_id="+ru
le_id+"&saving=0&data="+json.dumps(lol)
    ^
IndentationError: unexpected indent
>>>             SaveGet = requests.get(url, headers = headers)
  File "<stdin>", line 1
    SaveGet = requests.get(url, headers = headers)
    ^
IndentationError: unexpected indent
>>>             print(SaveGet.status_code, " ", SaveGet.text)
  File "<stdin>", line 1
    print(SaveGet.status_code, " ", SaveGet.text)
    ^
IndentationError: unexpected indent
>>>
>>>             #отправка отчета чезез POST
...             SavePOST = requests.post("http://gramotei.cerm.ru/student/saveRe
sult/"+rule_id, headers = headers2, data = data)
  File "<stdin>", line 2
    SavePOST = requests.post("http://gramotei.cerm.ru/student/saveResult/"+rule_
id, headers = headers2, data = data)
    ^
IndentationError: unexpected indent
>>>             print(SavePOST.status_code, " ", SavePOST.text)
  File "<stdin>", line 1
    print(SavePOST.status_code, " ", SavePOST.text)
    ^
IndentationError: unexpected indent
>>>         else:
  File "<stdin>", line 1
    else:
    ^
IndentationError: unexpected indent
>>>             n=n-1
  File "<stdin>", line 1
    n=n-1
    ^
IndentationError: unexpected indent
>>>
прошу помочь в данной ситуации как мне все правильно сделать ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2016, 21:58
Ответы с готовыми решениями:

Как сделать отправку ботом фото ?
Помогите не как не могу сделать так что бы бот отвечал на команду фотографией. Пример уже имеющегося клочка кода. Заранее спасибо.

Как управлять ботом по ходу
Доброй ночи, подскажите пожалуйста, у меня есть бот, с ним общаются все хорошо, общение вижу в консоли, как походу общения мне вставить...

Как удалить полностью диалог с ботом?
Добрый вечер. Вопрос следующий: как удалить полностью все сообщения с ботом в личных сообщениях? Пишу на C# в visual studio. Использую...

6
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.02.2016, 22:13
ulmas, во 1 у тебя не установлена одна из библиотек, которая используется в скрипте, а во 2 ты или криво копипнул скрипт с какого-то сайта или на том сайте он размещен с ошибкой, потому что остальные ошибки гласят о том, что у тебя не правильно расставлены отступы.

Библиотека ставится вот такой командой:
Bash
1
pip install requests
0
30 / 30 / 22
Регистрация: 13.02.2016
Сообщений: 131
27.02.2016, 22:17
Python
1
ImportError: No module named 'requests'
Нужно для начала скачать и подключить библиотеку requests
https://pypi.python.org/pypi/requests
http://docs.python-requests.or... r/install/
По поводу остального, там везде лишние отступы
Python
1
>>> n = 8
А надо так
Python
1
>>>n = 8
0
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 11
27.02.2016, 22:27  [ТС]
Цитата Сообщение от Whost Посмотреть сообщение
А надо так
requests установил . А дальше как код подправить можешь обьяснить ?
0
30 / 30 / 22
Регистрация: 13.02.2016
Сообщений: 131
27.02.2016, 22:30
Лучший ответ Сообщение было отмечено ulmas как решение

Решение

В общем во вкладке file в idle есть опция New File. Создаешь новый файл, копируешь туда свою программу, сохраняешь и запускаешь(F5)
1
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 11
27.02.2016, 23:07  [ТС]
Цитата Сообщение от Whost Посмотреть сообщение
В общем во вкладке file в idle есть опция New File. Создаешь новый файл, копируешь туда свою программу, сохраняешь и запускаешь(F5)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Traceback (most recent call last):
  File "D:\python\lib\site-packages\requests\packages\urllib3\connection.py", line 137, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "D:\python\lib\site-packages\requests\packages\urllib3\util\connection.py", line 91, in create_connection
    raise err
  File "D:\python\lib\site-packages\requests\packages\urllib3\util\connection.py", line 81, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "D:\python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 559, in urlopen
    body=body, headers=headers)
  File "D:\python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 353, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "D:\python\lib\http\client.py", line 1083, in request
    self._send_request(method, url, body, headers)
  File "D:\python\lib\http\client.py", line 1128, in _send_request
    self.endheaders(body)
  File "D:\python\lib\http\client.py", line 1079, in endheaders
    self._send_output(message_body)
  File "D:\python\lib\http\client.py", line 911, in _send_output
    self.send(msg)
  File "D:\python\lib\http\client.py", line 854, in send
    self.connect()
  File "D:\python\lib\site-packages\requests\packages\urllib3\connection.py", line 162, in connect
    conn = self._new_conn()
  File "D:\python\lib\site-packages\requests\packages\urllib3\connection.py", line 146, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.HTTPConnection object at 0x02419F10>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "D:\python\lib\site-packages\requests\adapters.py", line 376, in send
    timeout=timeout
  File "D:\python\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 609, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "D:\python\lib\site-packages\requests\packages\urllib3\util\retry.py", line 273, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
requests.packages.urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='gramotei.cerm.ru', port=80): Max retries exceeded with url: /App/Teacher/ajax.php?save_words=ok&ex_id=93236&saving=0&data=[%7B%22id%22:%20%2226206%22,%20%22rule_id%22:%20531,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2216003%22,%20%22rule_id%22:%20106,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225558%22,%20%22rule_id%22:%201016,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2226745%22,%20%22rule_id%22:%20%22191%22,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225596%22,%20%22rule_id%22:%20132,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2234802%22,%20%22rule_id%22:%20106,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2226204%22,%20%22rule_id%22:%201017,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225569%22,%20%22rule_id%22:%20132,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225606%22,%20%22rule_id%22:%20531,%20%22status%22:%20%22correct%22%7D] (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x02419F10>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера',))
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "D:/python/as.py", line 46, in <module>
    SaveGet = requests.get(url, headers = headers)
  File "D:\python\lib\site-packages\requests\api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "D:\python\lib\site-packages\requests\api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "D:\python\lib\site-packages\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "D:\python\lib\site-packages\requests\sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "D:\python\lib\site-packages\requests\adapters.py", line 437, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='gramotei.cerm.ru', port=80): Max retries exceeded with url: /App/Teacher/ajax.php?save_words=ok&ex_id=93236&saving=0&data=[%7B%22id%22:%20%2226206%22,%20%22rule_id%22:%20531,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2216003%22,%20%22rule_id%22:%20106,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225558%22,%20%22rule_id%22:%201016,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2226745%22,%20%22rule_id%22:%20%22191%22,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225596%22,%20%22rule_id%22:%20132,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2234802%22,%20%22rule_id%22:%20106,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2226204%22,%20%22rule_id%22:%201017,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225569%22,%20%22rule_id%22:%20132,%20%22status%22:%20%22correct%22%7D,%20%7B%22id%22:%20%2225606%22,%20%22rule_id%22:%20531,%20%22status%22:%20%22correct%22%7D] (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x02419F10>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера',))
вот такое выдает......

Добавлено через 26 минут
Whost, друг спасибо ! помог
только одно но )
за место 200 слов накрутило 3300
как сделать что бы он команду только 1 раз отправлял ?
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 1
21.03.2016, 15:34
ulmas, можешь скинуть готовый скрипт и объяснить какой куки вставить в пропуск?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2016, 15:34
Помогаю со студенческими работами здесь

Как получить media_group_id поста, опубликованного ботом?
pprint import pprint msg = bot.send_media_group(message.chat.id, , time.sleep(2)) pprint(vars(msg )) Этот пример не...

Как пересылать ботом сообщения в мой чат?
Зарегистрировал одного тг-бота через @BotFather и присылаю ему сообщения через токен бота. Хочу чтоб эти сообщения он пересылал в мои...

Как получить id сообщения, отправленного ботом телеграмм?
Подскажите как получить id отправленного сообщения ботом телеграмм, бот пишется на python

Как телеграм ботом удалить свое сообщение?
Есть такой код, но не работает. if call.data == 'cancel_dice': await bot.delete_message(chat_id=chat_id, message_id=message_id)...

Как получить ID файла, отправленого ботом, в телеграм-боте?
Нашёл решение сам.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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