Add(MainForm,2953706,21,105)
{
Width=425
Height=377
link(onCreate,9616762:doLoadString,[(61,125)(61,111)])
}
Add(HTTPClient,9616762,70,105)
{
URL="https://www.avito.ru/smolensk/kvartiry/1-k_kvartira_47_m_810_et._524096843"
Method=1
link(onHeadersAvail,5528711:doWork1,[(132,111)])
link(onFinish,5528711:doWork2,[(116,118)(116,125)])
}
Add(RichEdit,1117308,161,126)
{
Width=409
Height=339
Align=5
ScrollBars=2
}
Add(HubEx,5528711,128,119)
{
Angle=1
link(onEvent,1117308:doAdd,[(132,132)])
}
Этот топик читают: Гость
Ответов: 253
Рейтинг: 0
|
|||
Реально вызвать или показать текст JavaScripta. Пытаюсь парсить информацию сайта, но выдаёт не всю информацию. а именно Кусок с JavaScript.
|
|||
карма: 0 |
|
Google
vip
|
#1.1контекстная реклама от партнеров
|
Ответов: 4621
Рейтинг: 746
|
|||
Ну, скрипт информацию не из воздуха берет. Просто делает в фоне другой запрос или несколько. Перехватываешь и анализируешь запрос и выполняешь такой же.
|
|||
карма: 26 |
|
Ответов: 253
Рейтинг: 0
|
|||
Netspirit писал(а): Ну, скрипт информацию не из воздуха берет. Просто делает в фоне другой запрос или несколько. Перехватываешь и анализируешь запрос и выполняешь такой же.
А можно пожалуйста по подробней, ну или пример |
|||
карма: 0 |
|
Ответов: 4621
Рейтинг: 746
|
|||
Гугли "перехват трафика браузера". Можешь начать с Fiddler. Перехватываешь запрос от скрипта, делаешь в своей программе такой же.
|
|||
карма: 26 |
|
Ответов: 253
Рейтинг: 0
|
|||
Сложно) Просто проблема в том, что допустим DevTools от Гугл Видет весь текст страницы. А HTTPClient Выдаёт не весь текст. Бес скрипта.
|
|||
карма: 0 |
|
Ответов: 4621
Рейтинг: 746
|
|||
Ну, так JavaScript предназначен для исполнения браузером. В браузере есть механизм исполнения скрипта, вот он его и исполняет.
А "бесов скрипта" надо изгонять Редактировалось 1 раз(а), последний 2019-05-14 11:55:11 |
|||
карма: 26 |
|
Ответов: 253
Рейтинг: 0
|
|||
Дак а как мне его выловить? Он просто создаёт ссылку на фотографию. а она мне очень нужна) Реч идёт о АВИТЕ) Заходишь на сайт. Нажимаешь Показать телефон. он выдаёт картинку с номером.
Кнопка до нажати А вот кнопка после нажатия Выдаёт ссылку на картинку Ну а вот тоже до нажатия на кнопку. В коде есть скрипт который не выдаёт HTTPClient А в скрипте уже есть эта ссылка. Нажимать некуда не нужно. У меня есть шансы выловить от туда картинку ? |
|||
карма: 0 |
|
Главный модератор
Ответов: 2997
Рейтинг: 395
|
|||
egorhay писал(а): кнопка после нажатия Выдаёт ссылку на картинкуegorhay, Это не ссылка на картинку, а сама картинка в формате base64. "Бери - не хочу!" |
|||
карма: 6 |
|
Ответов: 253
Рейтинг: 0
|
|||
Nic писал(а):
Это не ссылка на картинку, а сама картинка в формате base64. "Бери - не хочу!" даа вы правы. Но проблема проблема то в том как ее взять. Я просто не понимаю как ее перехватить( Спарсить ) --- Добавлено в 2019-05-14 14:39:22 egorhay писал(а): А в скрипте уже есть эта ссылка. Нажимать некуда не нужно.
Сейчас понял что это не та картинку. я вообще не понимаю откуда он берет Картинку с номером Редактировалось 1 раз(а), последний 2019-05-14 14:39:22 |
|||
карма: 0 |
|
Ответов: 4621
Рейтинг: 746
|
|||
Отсюда он её берет:
(полный адрес запроса: https://www.avito.ru/items/phone/524096843?pkey=ca0a330d828366d76cc658d9f5251464&vsrc=r) Редактировалось 1 раз(а), последний 2019-05-14 15:26:19 |
|||
карма: 26 |
|
Ответов: 253
Рейтинг: 0
|
|||
Netspirit писал(а): генерируется pkey--- Добавлено в 2019-05-14 15:55:43 Я нашел его. но его нужно как-то разобрать. avito.item.phone = '61c456eff5124dey1c746a3f8y10383156d4179f2b4e6c6y0ca9acy26c4e412f071ed6913130f8f4a6a7cbedc21eff265y4c1'; Я так понял через каждые два символа --- Добавлено в 2019-05-14 16:00:46 А вот с хешем не понятно --- Добавлено в 2019-05-14 16:06:34 Ааа всё, Хеш и не нужен. просто в каком-то случаи у меня он был. а теперь не нужен. Теперь нужно понять как разбить avito.item.phone --- Добавлено в 2019-05-14 16:21:33 Я его разбил. и не чего не понял. я думал через каждые 2 символа. но вот что у меня получилось. + нужный символ - не нужные. Разбил d05057f3fc9dca164a8fef222fe18a70465dbfdff20a180d3d0f1a82f1df0d55406a8q8ef622cefq4a4q41a4d9ef3275d50
Должно получиться d0fcc68f2176bf083f8105686c444e2d d+ 05- 0+ 57- f+ 3f- c+ 9d- c+ a1- 6+ 4a- 8+ fe- f+ 22- 2+ fe- 1+ 8a- 7+ 04- 6+ 5d- b+ fd- f+ f2- 0+ a1- 8+ 0d- 3+ d0- f+ 1a- 8+ 2f- 1+ df- 0+ d5- 5+ 40- 6+ a8q- 8+ ef- 6+ 22- c+ efq- 4+ a4q- 4+ 1a- 4+ d9- e+ f3- 2+ 75- d+ 50- --- Добавлено в 2019-05-14 16:22:14 Там в конце стали появляться по 3 символа которые нужно удалить. Редактировалось 5 раз(а), последний 2019-05-14 16:22:14 |
|||
карма: 0 |
|
Ответов: 253
Рейтинг: 0
|
|||
Нет. моя теория не верна.
Редактировалось 1 раз(а), последний 2019-05-14 17:17:59 |
|||
карма: 0 |
|
Ответов: 4621
Рейтинг: 746
|
|||
Нужно дебажить код. Найти место, в котором выполняется запрос с pkey. И через стек вызовов в обратном порядке найти место где он формируется.
Это может быть математика на основе какого-то рандомного значения из кода страницы, из куки или из другого запроса к серверу. |
|||
карма: 26 |
|
Ответов: 839
Рейтинг: 17
|
|||
Идея такава. что если браузер использует юсер агент телефона. появляеться кнопка позвонить. и в коде свободен номер без заморока.
Долго думал. и нашол вариант. но что то у меня пошло не так. Add(WebBrowser,9606497,511,343)
{ Left=75 Top=10 Width=1215 Height=855 Silent=0 Point(doFromText) } Add(Button,4422027,224,371) { Top=20 link(onClick,4105625:doEvent1,[]) } Add(TCP_Client,2895931,392,371) { Port=443 IP="185.89.12.132" link(onRead,11944938:doEvent,[]) link(Data,10745238:Text,[]) } Add(Hub,4105625,294,371) { link(onEvent1,2895931:doOpen,[]) link(onEvent2,2895931:doSend,[(350,384)(350,391)]) } Add(Debug,11944938,455,371) { link(onEvent,9606497:doFromText,[]) } Add(StrList,10745238,399,280) { Strings=#65:GET /abakan/vakansii/voditel_kategorii_e_i_s_1007149758 HTTPS/1.1|18:Host: www.avito.ru|97:User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0.2) Gecko/20100101 Firefox/10.0.2|00 } |
|||
карма: 0 |
|
14