Парсинг

  • Автор темы sasha465
  • Дата начала
T

typak


Чо как об стену я все понял шо таким заниматся нельзя.
Это незаконно и малоли шо случится шоб потом небыло: небо в клеточку одежда в полосочку...
если делать. то молча без свидетелей ха-ха шучю


Но заманчиво уж больно заманчиво
 

EmptyR

Веб мастер
06.10.2010
153
0
BIT
0
Для sasha465: почему бы не парсить весь сайт driver.ru, а просто найти в торрентах коллекции драйверов на нескольких dvd дисках? Сам пользуюсь одним из таких - как у знакомых что то из драйверов слетает, и у них нету родных драйверов, или же банально нету Интернета, я прихожу к ним, и обновляю драйвера прямо с диска.
 
K

Kauperwood

просто найти в торрентах коллекции драйверов на нескольких dvd дисках
возможно что работа на интерес, идею или на задание
со всем своим полегче и вправду)
или как вариант на чужой сайт как воспомагательный или дополнительный сервис
 
S

sasha465

Во общем парсить получается, но появилась проблема, уже кучу инфы перечитал в нете, но толком не понял. Вообщем парсю я успешно driver.ru, получаю в результате ссылку на версию драйвера для указанной пользователем оси, далее мне требуется скачать с помощью file_get_contents() содержимое, находящееся по этой ссылке и оттуда уже доставать последнюю ссылку. Однако file_get_contents() посылает меня все туда же, не переходит по uri то есть. Я так понимаю что проблема в кодировке. Я там получаю в переменной $a=/?H=GeForce FX 5700&By=NVidia&SS=Linux 32-bit -вот такое например значение, это ссылка на конкретный драйвер, но к этой ссылке необходимо еще добавить "driver.ru".$a - например вот так. Однако в результате я не получаю нужной мне страницы, а получаю все ту же исходную на которой и искал эту ссыль. Причем если я вручную эту же ссылку задам file_get_contents("driver.ru/?H=GeForce FX 5700&By=NVidia&SS=Linux 32-bit") то все будет нормально скачано и будет выдана нужная мне страница. Тут я пробовал и кодировать юрл в utf-8(в этой кодировке находится сайт) и в windows-1251, а потом обратно и еще много чего, но все даром. И даже уже совсем по глупому сравниваю две строки: одну, которая находится в $a, а вторая явно скопированная в переменную $b из вывода в окно браузера переменной $a, то есть по идее абсолютно одинаковые строки, но функция strcmp дает ненулевой результат. Вот что за хрень...
 
S

sasha465

Да уж, дождешься от вас помощи :)
Ну да ладно сам разобрался. После посимвольного вывода юрла с кодами символов, обнаружилось что в ссылку запроса затесались символы &amp. который используется в ссылках вместо &. Так что вызовом функции $a=str_replace("&amp", "&", $a); все дело и решилось.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!