Марат А.
245 повідомлень
#16 років тому
Всем привет! Задача банальна, на первый взгляд. Есть сайт, необходимо сграбить значения списка (. Список В подгружается после подстановки значения в список A. Фишка в том, что при этом ссылка не меняется.
Мой алгоритм следующий:
- подставляю URL, парсю html. (исходя из того, что ссылка не меняется, то значение списка B не получим)

Кто, что посоветует.
Виктор Т.
1036 повідомлень
#16 років тому
А это смотря на чем парсер писать)
Марат А.
245 повідомлень
#16 років тому
Хоть на чем. Какую технологию Вы предложите и метод? (хоть Java, хоть php или третье)
Виктор Т.
1036 повідомлень
#16 років тому
Решение "в лоб" - берем COM-объект интернет эксплорера, грузим в него страницу, находим нужный контрол, FireEvent ему... и будет Вам "щааааастье"))))
Марат А.
245 повідомлень
#16 років тому
Решение не подходит. Не обязательно может быть IE, может любой браузер быть.
Виктор Т.
1036 повідомлень
#16 років тому
На любой Win-системе ядро эксплорера есть)
Марат А.
245 повідомлень
#16 років тому
В том то и дело, правильно Вы подчеркнули: "Win системе"
Виктор Т.
1036 повідомлень
#16 років тому
Ну так надо было уточнять) Тада ковыряйте свойство OnChange нужного элемента
Виктор С.
94 повідомлення
#16 років тому
Не выдумывайте велосипед.

Отследите заголовки, которые передаются при смене значения в списке A, какие переменные передаются и каким методом.
Далее передайте тоже самое через курл или сокеты. И вам действительно будет счастье ))))
Марат А.
245 повідомлень
#16 років тому
Цитата ("Slepoi_Mag"):
Не выдумывайте велосипед.

Отследите заголовки, которые передаются при смене значения в списке A, какие переменные передаются и каким методом.
Далее передайте тоже самое через курл или сокеты. И вам действительно будет счастье ))))


Вот сама ссылка. Как можно провести анализ на передачу параметров?

Виктор С.
94 повідомлення
#16 років тому
Плагины для браузеров (Мозила - liveHTTP) и подобные проги.


Вот пример:


http://www.targus.com/us/tipconfigurator/default.aspx?region=1&cat=Notebook

POST /us/tipconfigurator/default.aspx?region=1&cat=Notebook HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
Cookie: ASP.NET_SessionId=ubycmf3rrgpkrw55ybexycei; __utma=44495009.1970760992.1236560435.1236560435.1236560435.1; __utmb=44495009; __utmc=44495009; __utmz=44495009.1236560435.1.1.utmccn=(referral)|utmcsr=weblancer.net|utmcct=/forum/themes/10213.html|utmcmd=referral; fcC=X=C527658679&Y=1236560755119&FV=-1&H=1236560755112&fcTHR=www.digitalriver.com}; fcP=C=0&T=1236560448927&DTO=1236560448922&U=527658679&V=1236560755112; fcR=http%3A//forum.weblancer.net/themes/10213.html%3Fpage%3D1; fcPT=http%3A//www.targus.com/us/tipconfigurator/default.aspx%3Fregion%3D1%26cat%3DNotebook
Content-Type: application/x-www-form-urlencoded
Content-Length: 26736
__EVENTTARGET=ddlMfg&__EVENTARGUMENT=&__VIEWSTATE=...........&ddlMfg=Dell&ddlModel=Select



Оффтопик
Как и говорил - передаем через курл, а лучше через сокеты параметры, прикинувшись браузером, и забираем появившийся правый список. Проверил - работает. И так в цикле для каждого бренда из первого списка. Счастье рядом - надо только протянуть руку.
Ил Миха
56 повідомлень
#16 років тому


Все что нужно просто отравить post запрос на ту же страницу, нет разницы через сокеты или curl отправить тоже, можно прослушать firebug-ом вкладка NET, что посылается но если подробно, можно взять сниффер типа charlesproxy.com, он выдаст полностью все, что передается.
Марат А.
245 повідомлень
#16 років тому
СПАСИБО, ТОВАРИЩИ!
Тут М.
626 повідомлень
#16 років тому
FF + FireBug
Марат А.
245 повідомлень
#16 років тому
Цитата ("Demiurh"):
FF + FireBug


А где эту инфу в FireBug посмотреть?
p.s.: не нашел
Марат А.
245 повідомлень
#16 років тому
Вопрос снят. Спасибо!
Тут М.
626 повідомлень
#16 років тому
Для всех интересующихся - вкладка "Net" показывает запросы от текущей страницы. Каждый запрос можно раскрыть и увидеть заголовки запроса/ответа, параметры запроса и собственно ответ сервера.