
RigoSex
06.02.2019
23:33:58
Там апи есть, но задание его не подразумевает

shram | ~infinity~
06.02.2019
23:34:15

RigoSex
06.02.2019
23:34:21
И я бы использовал реквестс если бы была возможность обойтись без js в авторизации, но увы...
Не, фукнционал вроде тихого бэкапа без мудовых настроек аккаунта

Google

RigoSex
06.02.2019
23:35:16
Если у вас нет аккаунт в фейсбуке - задание вам будет выполнить сложно.
Зайти на https://www.messenger.com
Идет обращения к https://www.messenger.com/api/graphqlbatch/ при просмотре списка сообщений
В ответах есть поле "other_user_id":"число". Число это id профиля
Задача:
Написать скрипт, который должен будет залогинится и сохранить всю переписку по правилу - каждый отдельный чат в %число_дата_запуска%.json
Структура json при этом не должна ломаться
Дополнительная задача:
Скрипту можно указать до какой даты сохранять чаты. Формат даты - день, месяц, год.

Nikolay
06.02.2019
23:36:12
Нормальное тестовое задание

RigoSex
06.02.2019
23:40:03
Не могу найти элемент с перехваченными запросами в консоли разработчика...
Видимо он у меня не запустился как положено
Переменная выдает None, хотя скрипт вообще не трогал

Ученик
06.02.2019
23:43:44
селениумом
заебашь)))
или кликер напиши

Nikolay
06.02.2019
23:45:36

RigoSex
06.02.2019
23:48:38
Поставил после клика time.sleep(10) и стало появлятся это

Nikolay
06.02.2019
23:49:17
?

RigoSex
06.02.2019
23:49:34
Но это кажется родные скрипты фейсбука

Google

RigoSex
06.02.2019
23:50:05
Объект должен быть в body, но там все ещё ничего

Nikolay
06.02.2019
23:50:31

RigoSex
06.02.2019
23:51:19
Может он вообще не исполняется? Присвоение переменной этому скрипту(как на стак оверфлоу) дает None
Скрипт работает только в тройных сдвоенных кавычках

Nikolay
06.02.2019
23:51:54

RigoSex
06.02.2019
23:52:01
У тебя так?

Nikolay
06.02.2019
23:52:16

Foma
06.02.2019
23:54:22
Че вы ваще делаете?фейсбук апи на жс?

Ученик
06.02.2019
23:54:38
вопрос не по пайтону
все же знают, есть открытые порты, сайты умеют их чекать
наличие
как обезопасить себя?

RigoSex
06.02.2019
23:55:11
Поставил после клика авторизации - в итоге не грузит сообщения
Второе пока не получается даже с магией ЖС

Ученик
06.02.2019
23:56:03

shram | ~infinity~
06.02.2019
23:56:07

Ученик
06.02.2019
23:56:10
их можно как то подменить

Nikolay
06.02.2019
23:56:17

Google

shram | ~infinity~
06.02.2019
23:56:21
и создал правило для себя. чтобы самому достучаться
енкс
гугли в сторону firewalld/ или чего у тебя там

RigoSex
06.02.2019
23:56:40
Сейчас тоже проверю

Nikolay
06.02.2019
23:57:37
Сейчас тоже проверю
Просто в консоль вогнал этот js кусок, потом полазил по главной (без перехода по ссылка); карусельки покрутил, на картинки наводил курсором; что-то отправляется/принимается

RigoSex
06.02.2019
23:57:53
Я сейчас так же сделаю

shram | ~infinity~
06.02.2019
23:58:15
а порты все равно держать нужно 17— там openvpn tcp udp и 22 для ssh

RigoSex
06.02.2019
23:59:09
И это я делаю в консоли бровзера что запускает селениум

Nikolay
06.02.2019
23:59:33

RigoSex
06.02.2019
23:59:57
ПОЯВИЛОСЬ
Такс такс такс

shram | ~infinity~
07.02.2019
00:00:15
это что, пенитестинг яда?

Nikolay
07.02.2019
00:00:25

shram | ~infinity~
07.02.2019
00:00:34
ток не отправьте яду ничего ) а то выепут

RigoSex
07.02.2019
00:01:00
Однако селениум все равно скрипт не запускает...

Nikolay
07.02.2019
00:01:22

shram | ~infinity~
07.02.2019
00:01:35
я как-то крутил пакеты в wpe pro , и отправлял обратно, чисто баловался, в итоге поймал бан по ip в каком-то поисковике ))

Nikolay
07.02.2019
00:02:33

RigoSex
07.02.2019
00:02:51
Вообще переадресация есть

Google

Nikolay
07.02.2019
00:02:58
надо успеть сделать execute этого скрипта ровно до того, как будет получен твой json

RigoSex
07.02.2019
00:03:24
Но если ставить после клика - получаешь зависание скрипта что отвечает за отображение самой переписки

Nikolay
07.02.2019
00:04:07

RigoSex
07.02.2019
00:04:40
Тогда надо сделать условие чтобы селениум сообщил когда будет переход

Nikolay
07.02.2019
00:05:00
Типа того
Там надо самым первым этот js кусок исполнить

RigoSex
07.02.2019
00:05:59
В документации вообще очень бедно, может он и не умеет?

Nikolay
07.02.2019
00:06:18
А это надо подумать, может в DOM повыше поставить (в этом куске document.body.append вставляет элемент в конец и он последним исполнится). Вообщем надо читать приоритет по этому делу в мире js

RigoSex
07.02.2019
00:06:57
Вот только я не знаю js...
document.body.appendChild(element);
Видимо есть какая то нужда, не знаю

Foma
07.02.2019
00:21:02
А че с жс?
вы слип не юзаете?
там на фейсбуке все на промисах и потоках
в вашем селениуме есть промисы и асинк евейт?

RigoSex
07.02.2019
00:22:35
При явном можно не успеть поймать скрипты

Foma
07.02.2019
00:24:39
async def get_driver(): return webdriver.Chrome() async def get_url(driver): return driver.get(url) async def get_html(url): driver = await get_driver() response = await get_url(driver
Походу так

Google

RigoSex
07.02.2019
00:26:16
?

Nikolay
07.02.2019
00:26:21
не об этом сейчас

RigoSex
07.02.2019
00:39:00
ЗАРАБОТАЛО
Сделал я проверку загрузки через одну надпись прямо в хтмле
И после сразу же впиндюрил скрипт, в DOMе он есть - сейчас проверю что поймал
Похоже он блокирует остальные скрипты, страница просто повисла
Поймал только ненужный ajax запрос, остального там даже близко нет

Nikolay
07.02.2019
00:44:25
я спать. голова не работает уже

Tishka17
07.02.2019
00:44:50

Nikolay
07.02.2019
00:45:22

Tishka17
07.02.2019
00:47:11
Отпуск же

RigoSex
07.02.2019
00:56:00
Похоже селен вообще не вариант, нашел способ как передать кукиши реквестсу, так и попробуем
Седьмой час этим занимаюсь

Tishka17
07.02.2019
01:05:07

RigoSex
07.02.2019
01:05:19
messenger.com
Фейсбучный

Tishka17
07.02.2019
01:07:43
А апи не подходит?

RigoSex
07.02.2019
01:07:45
Авторизуюсь через селениум, но надо спарсить джсоны которые вызываются скриптами на сайте
Апи то подходит, но тестовое задание в другом