@ru_python

Страница 8023 из 9768
RigoSex
07.02.2019
01:08:48
Может надо делать через прокси? Что за прокси я не вкурил, но видел упоминания о нем регулярно на стаке

Tishka17
07.02.2019
01:08:55
Ух жесть

Сочувствую

RigoSex
07.02.2019
01:09:28
Ради работы мечты и море по колено

Google
RigoSex
07.02.2019
01:10:03
Ещё был вариант делать дамп консоли, но эта хуйня работает вроде только в фаербаге через драйвер фаерфокса

Который у меня вроде не работал нихрена

Похоже последняя версия селениума сломала поддержку фаерфокса

Все ещё не сдался, но хочу умереть

Надежда ещё есть - ручная вставка в консоль скрипта работает очень хорошо

После ручной инъекции все равно виснет спустя время Непонятно...

Есть ещё вариант с локальным прокси

https://github.com/lightbody/browsermob-proxy

Есть такая борода для джавы, нужна такая же для питона...

RigoSex
07.02.2019
02:28:45
driver.execute_script(""" (function(XHR) { "use strict"; var element = document.createElement('div'); element.id = "interceptedResponse"; element.appendChild(document.createTextNode("")); document.body.appendChild(element); var open = XHR.prototype.open; var send = XHR.prototype.send; XHR.prototype.open = function(method, url, async, user, pass) { this._url = url; // want to track the url requested open.call(this, method, url, async, user, pass); }; XHR.prototype.send = function(data) { var self = this; var oldOnReadyStateChange; var url = this._url; function onReadyStateChange() { if(self.status === 200 && self.readyState == 4 /* complete */) { document.getElementById("interceptedResponse").innerHTML += '{"data":' + self.responseText + '}*****'; } if(oldOnReadyStateChange) { oldOnReadyStateChange(); } } if(this.addEventListener) { this.addEventListener("readystatechange", onReadyStateChange, false); } else { oldOnReadyStateChange = this.onreadystatechange; this.onreadystatechange = onReadyStateChange; } send.call(this, data); } })(XMLHttpRequest);

RigoSex
07.02.2019
02:31:42
Да

Google
RigoSex
07.02.2019
02:31:50
Селениум такие вещи не умеет

Maxim robox
07.02.2019
02:32:26
Да
Именно на клиенте нужно перехватывать что ли? Или не важно?

Tishka17
07.02.2019
02:32:45
Если перехватывать, можно взять QtWebkit, там есть метод для этого

А так, лучше прокси конечно

Maxim robox
07.02.2019
02:33:36
RigoSex
07.02.2019
02:33:55
Но нужно уместить в один скрипт питона, так то можно и через апишку

Но не надо

Tishka17
07.02.2019
02:34:14
Это надо mitm тогда
Ну локально ж сертификат без проблем

RigoSex
07.02.2019
02:34:40
В задании сказано скрипт сделать, а не поднимать виртуальные интерфейсы

Я не хочу усложнять парсинг настолько

Maxim robox
07.02.2019
02:35:05
Да задачка-то ебаная какая-то.

RigoSex
07.02.2019
02:35:10
Скрипт выше работает, но немного некорректно т.к. страница подвисает спустя время

Maxim robox
07.02.2019
02:35:50
RigoSex
07.02.2019
02:35:57
Первое

Maxim robox
07.02.2019
02:38:22
Первое
https://stackoverflow.com/questions/16959359/intercept-xmlhttprequest-and-modify-responsetext Пробовал?

Egor
07.02.2019
02:39:42
ОФФТОП: кто скажет,есть ли какой сервис подобие смспилота, НО для получения смс и чтения его? Если он с API (для пересылки на ТГ итд) было бы отлично

RigoSex
07.02.2019
02:40:21
https://stackoverflow.com/questions/16959359/intercept-xmlhttprequest-and-modify-responsetext Пробовал?
Не пробовал, но кажется это совсем не то Тот скрипт пихал в элемент на сайте чтобы селениум мог его потом прочитать

Maxim robox
07.02.2019
02:40:31
ОФФТОП: кто скажет,есть ли какой сервис подобие смспилота, НО для получения смс и чтения его? Если он с API (для пересылки на ТГ итд) было бы отлично
Сервис СМС активаций и аренды виртуальных номеров sms-reg.com Номер для sms активаций, прием сообщений 24/7, индивидуальные номера, повторное получение СМС...

Вроде он умеет.

Будь аккуратен, регая телегу на такой номер, можно бан словить.

Google
Egor
07.02.2019
02:41:45
вроде как я видел либы на питоне, которые умеют работать с юсб-модемами ..с возможностью чтения и отправки смс

Maxim robox
07.02.2019
02:42:44
хмм.. или проще написать свой клиент для чтения СМСок например на андроиде/с юсб свистка ?
С андроида элементарно. Писать ничего не надо. У меня есть такое. Я смски себе в телегу форваржу.

Maxim robox
07.02.2019
02:44:29
Не пробовал, но кажется это совсем не то Тот скрипт пихал в элемент на сайте чтобы селениум мог его потом прочитать
Ну передача в селениум это отдельная задача. Ее можно решить потом. Кстати, если твой вариант писал инфу в DOM и со временем зависал, то в этом и была проблема, возможно.

RigoSex
07.02.2019
02:44:46
Данных там было не настолько много чтобы все висло к чертям

Maxim robox
07.02.2019
02:46:34
свое или готовое? если да, то можно линк?
Есть софт для автоматизации на андроиде. У меня платный tasker, есть бесплатный automate и куча других. Суть одна — создать задачу, которая слушает события входящих смсок (и пропущенных звонков у меня еще там же), хуйнуть post запрос в bot api телеграмма. Для таскера могу скинуть свое. Еще для automate то же самое делал, но не осталось.

Данных там было не настолько много чтобы все висло к чертям
И все же нельзя ли переделать? Селениум умеет слушать консоль браузера, наверное? Пиши в console.log данные.

RigoSex
07.02.2019
02:48:19
И все же нельзя ли переделать? Селениум умеет слушать консоль браузера, наверное? Пиши в console.log данные.
Через фаербаг можно, но силениум сломал поддержку фаерфокса в новых версиях



А когда я крутил лог консоли к хрому, он был пустой Схожу погуглю...

Maxim robox
07.02.2019
02:49:35
Данных там было не настолько много чтобы все висло к чертям
Просто там же не ванильный жс у фейсбука в этом мессенджере. Там, вероятно, react. Реакт жутко не любит, когда модифицируют его DOM. Возможно, из-за него все падало. Одна из версий.

RigoSex
07.02.2019
02:49:58
?

Maxim robox
07.02.2019
02:51:07
Там говорится, что у тебя XHR синхронные получаются. Они блокируют поток и это херово сказывается на пользовательском опыте. Но это не ошибка. Это deprecation warning. Не из-за этого падает, я полагаю.

RigoSex
07.02.2019
02:51:16
Падажжи, ведь если делать вывод консоли - нужно ведь ещё и скрипты написать чтобы делали вывод?

RigoSex
07.02.2019
02:51:50
Сейчас прикручу и посмотрим

https://stackoverflow.com/questions/20907180/getting-console-log-output-from-chrome-with-selenium-python-api-bindings

Egor
07.02.2019
02:53:22
Спасибо, посмотрю

RigoSex
07.02.2019
02:59:11


Google
RigoSex
07.02.2019
02:59:35
Ещё есть целый файл в папке, debug.log

Но там вообще ерунда какая то

Настройка логирования стоит на ALL

Maxim robox
07.02.2019
03:06:32
Но это же то, что нужно, верно? Сделай там что-нибудь типа console.log(“hui”, data), чтобы знать, что это твое.

RigoSex
07.02.2019
03:07:18
Это вообще не то, нам нужны ответы на пост запросы в виде джсонов, я их могу пощупать из браузера

Но беда что там так насрано, что нельзя смоделировать такой запрос чтобы получить этот самый джсон

Поэтому только перехватывать

Maxim robox
07.02.2019
03:08:03
А. Сперва показалось, что там ответ.

RigoSex
07.02.2019
03:08:27
Да, вижу

Maxim robox
07.02.2019
03:08:41
Если видишь, то неправильно читаешь консоль.

RigoSex
07.02.2019
03:09:14
Не прямо в консоли, а в вкладке - network

Там все запросы и этот тоже есть

Maxim robox
07.02.2019
03:09:29
Не прямо в консоли, а в вкладке - network
Нет, надо видеть в консоли.

Ты же console.log делал

RigoSex
07.02.2019
03:10:01
Я делал несколько иное

d = DesiredCapabilities.CHROME d['loggingPrefs'] = { 'browser':'ALL' }

Maxim robox
07.02.2019
03:10:36
Я селениум не трогал, мне это мало о чем говорит.

RigoSex
07.02.2019
03:11:03
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # enable browser logging d = DesiredCapabilities.CHROME d['loggingPrefs'] = { 'browser':'ALL' } driver = webdriver.Chrome(desired_capabilities=d) # load some site driver.get('http://foo.com') # print messages for entry in driver.get_log('browser'): print entry Я ж только через него и могу

Google
RigoSex
07.02.2019
03:11:47
Верно и она обычно пустовата

Я думаю если читать консоль - нужно запиндюрить JS который в неё будет скидывать те самые запросы

Maxim robox
07.02.2019
03:12:14
Верно и она обычно пустовата
Ну так а что ты будешь читать, если ты не пишешь в нее?

RigoSex
07.02.2019
03:12:24
Вот я об этом пол-часа назад и написал

RigoSex
07.02.2019
03:12:55
Прям в консоль?

Maxim robox
07.02.2019
03:13:11
В код, где ты получаешь response

RigoSex
07.02.2019
03:13:48
А теперь я запутался

Maxim robox
07.02.2019
03:15:49
А теперь я запутался
У тебя есть код на жс, который модифицирует прототип xhr, перехватывает ответ на запрос и вставляет его в DOM. И он работает, хоть и зависает. Верно? Выкидывай тот кусок, где ответ вставляется в DOM, и замени его на вставку в консоль. console.log(response.body) примерно.

RigoSex
07.02.2019
03:16:05
окей, сейчас сделаем

⇒? ? ? ? ? ? ⇐
07.02.2019
03:51:01
Я кстати написал прогу, для управления telegram ботми своим компьютером. Могу скинуть.

Maxim robox
07.02.2019
04:00:54
RigoSex
07.02.2019
04:03:06
Как успехи?
С JS никак, пока борю баги в селениуме и пытаюсь завести его на фаерфоксе

Впихнул вывод в консоль - работает, но виснет моментально

Tishka17
07.02.2019
04:10:17
Я кстати написал прогу, для управления telegram ботми своим компьютером. Могу скинуть.
Поздравляю. Если поделишься сорцами, можем покритиковать

Python
07.02.2019
04:48:16
Правила чата: 1. Пишите вопрос по своей проблеме сразу же первым сообщением. Без приветов. Без прелюдий «кто может помочь». Обращения в ЛС к участникам нежелательны. Смотрите также http://neprivet.ru и http://nometa.xyz 2. Укладывайте свои мысли в одно сообщение, а не десять. 3. Код обрамлять тройным грависом: ```код``` если больше десяти строк, залить на https://gist.github.com или https://dpaste.de 4. На сообщения отвечайте реплаем, а не форвардом. 5. Для вопросов совсем начального уровня писать в @ru_python_beginners. Там же ответы на вопросы: «я новичок, с чего начать изучать питон» и «что почитать». 6. Для HR: сразу указывайте стек технологий проекта и зарплатную вилку. Обязательны хештеги: #работа #удаленка или #офис Просто ссылка на страницу с вакансией не приветствуется. Вакансии, не отвечающие требованиям, будут удалены. 7. Сразу бан за: спам, трояны, взломы, вирусы, спам-боты, кряки, ключи, наркотики и прочий скам или предложения работы в этой сфере. 8. Персонажам с неприличными аватарками и никнеймами будет выдано RO до момента исправления проблемы. Неприемлемы оскорбления, реклама, украшательства, Z̩ͭ͢A̲ͯ̋ͤ̈̅̍L̘̭̦̗͖̍͠G̻̲̮͔̓ͭ̽ͪ͛͘Ọ̲̖͍͔̥͎̄!̝̥̪̘̮̎̂̓ͭ́̃, злоупотребление эмодзи. Список неполный. Примеры: ? ꧁꧂BAKLAZHANCHIK꧁꧂ ? Baklazhanchik ? Свастика на аватарке ? Котик на аватарке ? ⇒ ? ? ? ? ? ? ? ⇐ ? Agawon

Страница 8023 из 9768