![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
У меня есть парсер HTML страничек, он работает через функцию file(), просто грабя контент со странички, но возникла проблема вот с этим с одним сайто (ссылка).
На нем есть переход на разные языки, причем, как я понял, переход осуществляеться через пометку в кукисах, при этом ссылка остаеться той же, что и для других языков... Проблема в том, что функция file() грабит только русскую версию. Реально ли сделать так, чтоб я мог автоматизировать парсер и на иноязычные версии? |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Самое простое, на мой взгляд - использовать CURL и там, для подхвата cookies настроить CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
кукисы выдрал из папочки, кинул в папку со скриптом, запустил
фиг- не работает И как занести данные в переменную, не выводя их на экран? |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
CURLOPT_COOKIEFILE позволяет задать файл, из которого нужно брать куки для пересылки в request. Для принимаемых кук используют CURLOPT_COOKIEJAR. Нужно настроить их на один и тот же файл. Тогда тое куки, что придут в ответ на первый запрос, будут посланы при следующем запросе.
Чтобы занести в переменную, нужно использовать CURLOPT_RETURNTRANSFER Это сообщение отредактировал(а) Golda - 15.7.2007, 17:36 -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Вывод заблокировался, но кукисы не жует все равно, страница как была на русском так и остаеться...
|
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
А... так там cookie меняются javascript'ом. Тогда сервер их не поставит. Все равно менять вручную придется. Тогда уж проще прямо cookie задавать опцией CURLOPT_COOKIE
Так должно работать. Меняйте значение lang в cookie и получайте страницу на каком хотите языке. Если возникнут проблемы, добавьте еще на всякий случай CURLOPT_USERAGENT (некоторые сайты проверяют наличие header User-Agent). Реже, но иногда требуется CURLOPT_REFERER и (на случай, разнообрвзных пересылок) можно включить CURLOPT_FOLLOWLOCATION Это сообщение отредактировал(а) Golda - 16.7.2007, 08:07 -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Golda,
Огромное спасибо, вы меня очень выручели, я уж думал придеться все вручную перебивать |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |