Оч интересный parsing html
245 сообщений
#16 лет назад
Всем привет! Задача банальна, на первый взгляд. Есть сайт, необходимо сграбить значения списка (
Мой алгоритм следующий:
- подставляю URL, парсю html. (исходя из того, что ссылка не меняется, то значение списка B не получим)
Кто, что посоветует.
245 сообщений
#16 лет назад
Хоть на чем. Какую технологию Вы предложите и метод? (хоть Java, хоть php или третье)
1036 сообщений
#16 лет назад
Решение "в лоб" - берем COM-объект интернет эксплорера, грузим в него страницу, находим нужный контрол, FireEvent ему... и будет Вам "щааааастье"
245 сообщений
#16 лет назад
Решение не подходит. Не обязательно может быть IE, может любой браузер быть.
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 лет назад
СПАСИБО, ТОВАРИЩИ!
245 сообщений
245 сообщений
#16 лет назад
Вопрос снят. Спасибо!