Злой avito.ru сломал мне голову (((

Тема в разделе "PHP", создана пользователем Inviseble_Demon, 15 апр 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Доброго времени суток.
    Решил пожаловаться на мою тяжкую жизнь и за одно спросить совета.

    Есть такой страшный сайт avito.ru страшный потому что багов я там нашел немерено...
    Одни глюки с пагинацией только чего стоят... но не об этом речь..

    Имеется потребность получить телефон из объявления, он в картинке так что нужно запрашивать по адресу.

    1) Изначально это была переменная в исходнике которая просто передовалась через GET и получалась картинка. Но после недели парсинга зашита сменилась.
    2) Код этот стал длинным как зараза хотя итоговый запрос остался тем же. Расковырял яву и получилось то теперь из этой строки нужен каждый нечетный символ и это будит ключ. Но опять токи буквально пара дней и снова сломалось
    3) Теперь ключ стал немного длиннее логика осталась тойже только теперь он туда подмешивает левые символы и потом перед генерацией удаляет их. Пофиг снова отрыл и все заработало. Но непомню сколько проработало и снова сломалось.
    4) Теперь он ещё и рефер затребовал - дал но снова сломалось.
    5) И вот теперь я вообще не понимаю что там происходит потому как если сохранить страницу то получаем одинаковый ключ на выходе - прогоняем через мою функцию получаем тоже самое. Делаю это в браузере - получаю одинаковые ключи запроса но с**а ключи в исходнике постоянно разные кароче я вообще не понимаю что там творится и от куда он берется. Куки не причем - проверил.

     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    проверяй отсылаемые и принимаемые заголовки - это то с чем можно бороться средствами php

    а вот если там сделали javascript изменение значений или назначение кук, тогда всё сложнее и нужно искать этот самый js вникать в логику
    делать парсилку js с выдиранием переменных из html
    и потом писать аналог на php

    либо можно просто написать парсер под кседант, медленно - за то не поломаетсо

    само авито не смотрел перечислил то что это ещё может быть

    меня авито в контексте задрал, как его в блек не добавляешь один фиг вылазит скотина
     
  3. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Да пол беды с явой с ней уже не в первой бороться.
    Куки не причем проверял на них учета нет. Реализация только PHP нужна. Просто самое непонятное что в яве не нашол связей изменений этих. Причем сейчас вообще выяснилось что не все страницы такие. Мне попалось всего штук 5 из 30. Завтра наверно будит тест посмотрю что выйдет какой %. Просто ебогу интересно каким макаром что делают (( Ну нет там кода под этот бред. И блин ну как так на одних страницах работает на других нет. Разница только в сменчивости этого ключа. Даже даты сверял сменчивость и дада независимы.
    Кароче говнюк админ или адмыны там....

    Временно не актуально.
    Через пару дней после теста возможно понадобиться разобраться.
     
  4. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Привет всем...Такая же фигня, Курлом забираю генерирую ключ pkey чтобы вытащить картинку но картинка тянется уже ошибочная, мол Перегрузите страницу... Получается что картинку можно забрать один раз по одному ключу, только вот почему через курл она не тянется...ее помоему даже с браузера нельзя скачать :(
     
  5. :webzilapro

    :webzilapro Писатель

    Регистр.:
    24 дек 2012
    Сообщения:
    5
    Симпатии:
    0
    поставь HTTP Analyzer Full Edition 7 и открой страницу. И в этой проге увидешь весь обмен данными.
     
  6. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    да.. лихо у них там закручено.. сами js файлы, по ходу, динамически собираются или адреса меняют.. не суть..

    имеется следующее соображение.. возможно в качестве бреда, но всё же..
    есть такая штука - Перейти по ссылке (java программа), к нему можно обращаться из php..
    суть - качаем firefox (если нет), качаем сам selenium rc, качаем Перейти по ссылке к это дребедени, настраиваем, пишем тест (открытие страницы, клик на ссылку), ну и получаем саму картинку.. костыльно, конечно, и относительно медленно (пока selenium запустится, пока ff поднимет...), но относительно быстро реализуемо..

    ну или через эмуляторы браузеров.. сам не сталкивался, но публика вроде как пользуется..
     
  7. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    В FireBug тоже самое показывает...толку ни какого... есть идеи как в PHP картинку сливать с телефоном, хотябы один раз?
     
  8. N3ur0n

    N3ur0n Создатель

    Регистр.:
    27 авг 2013
    Сообщения:
    45
    Симпатии:
    15
    Не совсем понял в чем проблема в последнем случае, но проверял ли ты такой фактор как генерация с учетом уникального кода для IP? Ключи разные после перезагрузки страницы?
     
  9. :webzilapro

    :webzilapro Писатель

    Регистр.:
    24 дек 2012
    Сообщения:
    5
    Симпатии:
    0
    не совсем
    в firebug не получишь заголовки и редиректы
    так что устанавливай и смотри
    + в firebug нельзя получить картинку во вкладке сеть
     
  10. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Тема старая и не актуальная... по крайней мере для меня но тем не менее по правилам не из могилы поднимаю.

    N3ur0n - мы с вами вроди не знакомы что бы просто так тыкать в меня предложениями... общаться прилагая капельку уважения намного приятнее для обоих сторон. (но это так со злости + не спавший )

    По сути:
    IP неможет влиять вернее не смог бы так как тесты были на 1 машине с 1 IP

    В итоге проект был закрыт, имеющейся информации было достаточно заказчику и финансирование продолжения разбора полетов не было.
    Для меня данная тема более не актуальна, но вопрос не закрыти как я понял пару человек ещё интересует так что закрытие темы на выбор модератора.


    BDSG - нет, изначальное требование чистый php если уточнить то на LAMP на крайний случай если вы знакомы с подобными костылями посмотрите в сторону phantomjs (https://www.nulled.cc/threads/240812/)

    PS. На момент разработки и появления раковой проблемы подводный камень не был:
    1) в куках
    2) в запросах
    3) в заголовках

    В JS сволочи зарыли 105 но я не нашел даже ниточки не говоря о распутывании клубка... но возможно проблема в стимулировании или в мозгах каму как больше нравится ))
    PSS. Не так давно был другой проект который все таки финансировал решение подобной задачи... Все каму все ещё нужен avito пробуйте работать с phantomjs он вам в итоге отдаст чистый html конечный где уже картинка номера просто конечная ссылка без выеживания.

    Всем добра.
     
    Последнее редактирование: 1 окт 2013
    esche нравится это.
Статус темы:
Закрыта.