Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсер с редиректом ....

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 06:30:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Всем привет!
Суть проблемы такова:
Надо спарсить результат поиска торрент трекера.
Но, при обращении на прямую к странице вывода результа там подставляется вторая get переменная к адресу: attempt=1.
Т.е. адрес: http://tfile.ru/forum/ssearch.php?q=терминатор
принимает вид: http://tfile.ru/forum/ssearch.php?q=терминатор&attempt=1
Похоже на редирект, но в заголовках информации об этом нет.
То есть это ни редирект. Но тогда что это может быть?

Вот, собственно, сам запрос:
PHP:
скопировать код в буфер обмена
  1.  
  2. $string = 'терминатор'; // поисковый запрос
  3. $string = mb_convert_encoding($string, 'CP-1251', 'UTF-8');
  4. $string = str_replace(' ', '+', $string);
  5.  
  6. $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/tfile_cookies.txt';
  7.  
  8. $curl = curl_init();
  9.  
  10. curl_setopt($curl, CURLOPT_URL, 'http://tfile.ru/forum/ssearch.php?q='.$string);
  11. curl_setopt($curl, CURLOPT_COOKIEFILE, $user_cookie_file);
  12. curl_setopt($curl, CURLOPT_COOKIEJAR,  $user_cookie_file);
  13. curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  14. curl_setopt($curl, CURLOPT_HEADER, 1);
  15. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  16. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  17. curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
  18. curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  19.  
  20. $res = curl_exec($curl);
  21.  
  22. curl_close($curl);
  23.  
  24. $res = mb_convert_encoding($res, 'UTF-8', 'CP-1251');
  25.  
  26. $res = (!$res || empty($res)) ? '' : $res;
  27.  
  28. echo $res;
  29.  

(Отредактировано автором: 01 Мая, 2012 - 07:27:35)

 
 Top
LIME
Отправлено: 01 Мая, 2012 - 07:21:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




редирект через meta
 
 Top
DlTA
Отправлено: 01 Мая, 2012 - 07:23:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




это редирект, чем именно он реализован не понятно, проверять леньки,
и происходит он только в том случае если еще не получены куки, как только куки получены, больше переброса не происходит.
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 07:25:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




.

(Отредактировано автором: 01 Мая, 2012 - 09:04:23)

 
 Top
LIME
Отправлено: 01 Мая, 2012 - 07:30:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




armancho7777777 пишет:
И как его подловить curl-ом?
никак
1 раз зашел вхолостую- куку поймал и дальше ходишь парсишь
может js редиректит
(Добавление)
тогда хреново))
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 07:31:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




LIME пишет:
может js редиректит

Тоже так думал, но просмотрел весь их JS, - нет такого.
 
 Top
LIME
Отправлено: 01 Мая, 2012 - 07:31:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




вернее надо смотреть что он делает и эмулировать
(Добавление)
ты смотрел то что курл 1ый раз поймал или после редиректа?
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 07:38:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




LIME пишет:
1 раз зашел вхолостую- куку поймал и дальше ходишь парсишь

Я так и думал сделать. Но записывается только эта кука:
tfile.ru FALSE / FALSE 0 JSESSIONID 6aebc0fe759d53548eb700dae247

А там ещё несколо есть, что не записались.

LIME пишет:
ты смотрел то что курл 1ый раз поймал или после редиректа?

Успевает записать часть куки:
tfile.ru FALSE / FALSE 0 JSESSIONID 6aebc0fe759d53548eb700dae247
Но и при запросе главной страницы он записывает тоже самое.

(Отредактировано автором: 01 Мая, 2012 - 07:44:25)

 
 Top
LIME
Отправлено: 01 Мая, 2012 - 07:42:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




значит они js пишутся
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 07:47:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Но я смотрел JS исходники те, что в исходном коде страницы.
Нет там ничего такого.
(Добавление)
И связаться я с ними немогу, что бы позволили получать результаты поиска.
 
 Top
LIME
Отправлено: 01 Мая, 2012 - 07:58:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




эх ты хакер))
лови
CODE (htmlphp):
скопировать код в буфер обмена
  1. HTTP/1.1 200 OK Server: nginx Date: Tue, 01 May 2012 04:48:59 GMT Content-Length: 171 Connection: keep-alive <html><body><script>document.cookie="tmbx=db002d9ff20f1a585c66f8a3d312c409";document.location.href="http://tfile.ru/forum/ssearch.php?q=&attempt=1";</script></body></html>
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 08:02:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Подождите подождите))
Вы где и как это получили?)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <html><body><script>document.cookie="tmbx=db002d9ff20f1a585c66f8a3d312c409";document.location.href="http://tfile.ru/forum/ssearch.php?q=&attempt=1";</script></body></html>
 
 Top
LIME
Отправлено: 01 Мая, 2012 - 08:04:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Спойлер (Отобразить)
неождал
тыж смотрел исходники после редиректа
что ты там ожидал увидеть))
(Добавление)
а куку придется парсить и вручную писать
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Мая, 2012 - 08:07:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




LIME пишет:
тыж смотрел исходники после редиректа

Я не знал, как получить страницу до редиректа, а оказалось проще простого)
htmlspecialchars )

(Отредактировано автором: 01 Мая, 2012 - 08:08:26)

 
 Top
LIME
Отправлено: 01 Мая, 2012 - 08:10:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




еще можно в файл писать))
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB