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 :: скрытый <div class="hiding"</div>

 PHP.SU

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


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

> Описание: как спарсить?
algebra
Отправлено: 11 Мая, 2011 - 11:35:03
Post Id



Частый гость


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


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




На php странице присутствует скрытый div "hiding"
естественно, чтобы его регулярно выразить его нужно для начала раскрыть.
Помогите пожалуйста это сделать
 
 Top
OrmaJever
Отправлено: 11 Мая, 2011 - 11:56:52
Post Id



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


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


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




algebra пишет:
регулярно выразить

Что зделать? А?!


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 11:58:20
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Ничего не понял, попробуйте еще раз.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
algebra
Отправлено: 11 Мая, 2011 - 12:01:39
Post Id



Частый гость


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


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




регулярно выразить - это пользоваться регулярными выражениями, это лексика Улыбка
пробую еще раз:
хочу открыть для последующего парсинга скрытый <div class="
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 12:02:54
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




algebra вы когда исходный код страницы открываете (Ctrl+U), там тоже чем то пытаетесь открыть скрытый ДИВ чтобы прочесть его содержимое?
 
 Top
algebra
Отправлено: 11 Мая, 2011 - 12:08:43
Post Id



Частый гость


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


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




нет, див отображается по прошествии недели, после опубликования статьи
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 12:10:59
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Ну вот через неделю и ловите его на регулярно выраженой странице...
 
 Top
algebra
Отправлено: 11 Мая, 2011 - 12:32:47
Post Id



Частый гость


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


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




умнО не по годам
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 12:33:57
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




algebra а вы уверены, что знаете сколько мне лет?

Если вы хотите чтобы вам помогли - задавайте корректные вопросы.
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 12:38:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Давайте не будем в таком духе.
algebra, Вам в любом случае нужно посмотреть исходный код страницы (так как именно его Вы и будете проверять на наличие элемента при помощи регулярных выражений), как оно выглядит в браузере - не важно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Zuldek
Отправлено: 11 Мая, 2011 - 12:47:51
Post Id


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


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




тов. algebra. Главное что нужно усвоить, — весь исходный код страницы, который вы видите, нажав Вид/исходный код в браузере "видит" и curl, принимающий ответ от сервера. Иными словами, порядок разбор содержимого блоков <div id=first class="hidden" style="hidden">Content</div> и <div id=first>Content</div>, принятых от сервера в результате запроса через curl, будет совершенно одинаковым.
Идентифицировать оба этих блока можно по id блока - first. Первый блок можно идентифицировать ещё и по значениям параметров style и class
Если вы, по каким-то причинам, не видите нужного контента в html-коде, то curl, пользуясь вашими же правами на доступ к конкретному сайту, ничего нового (того что не видите там вы) для вас найти не сможет

(Отредактировано автором: 11 Мая, 2011 - 12:52:20)

 
 Top
algebra
Отправлено: 11 Мая, 2011 - 15:10:33
Post Id



Частый гость


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


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




этот div загружается при помощи ява скрипта

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3. /* horse info */
  4.         $("img.info").click(function(){
  5.         $(this).fadeOut("slow");
  6.         var horse = $(this).attr("id");
  7.         var race = $(this).attr("rel");
  8.  
  9.   if ($("div.info#h_"+horse).is(":hidden")) {
  10.              $("div.info#h_"+horse).load("horse_info.jq.php", { horse_id: horse, race_id: race },
  11.              function(){$("div.info#h_"+horse).slideDown("normal")});
  12.         }
  13.          });
  14.          
  15. /* сделать ставку */
  16.  
  17.         $("a.make_st, a.close_st").click(function(){
  18.          $("a.make_st, a.close_st").toggle();
  19.          $("div#game").toggle("slow");
  20.   });
  21.  
  22. /* Посмотреть все ставки */  
  23.  
  24.         $("div.other_st a").click(function(){
  25.         var race = $(this).attr("rel");
  26.         $("div.other_st").html("<img  style='margin: 0 0 0 300px;' src='/images/loading.gif'>");
  27.   $("div.other_st").load("stavki.jq.php", {race_id: race }, function(){$("div.other_st").slideDown("normal")});
  28.          });          
  29.  
  30. });


Но по прямой ссылке http://...stavki.jq.php?race_id=180
срабатывает защита
Вопрос: Как получить контент, обойдя и защиту и ява-скрипт?

(Отредактировано автором: 11 Мая, 2011 - 15:11:13)

 
 Top
Viper
Отправлено: 11 Мая, 2011 - 15:40:22
Post Id



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


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


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




algebra cURL'ом сделать POST на адрес ***/stavki.jq.php с параметрами.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
vsll
Отправлено: 11 Мая, 2011 - 16:08:42
Post Id


Частый посетитель


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


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




algebra пишет:
Вопрос: Как получить контент, обойдя и защиту и ява-скрипт?
И то и другое, здесь http://php.net/manual/ru/functio....curl-setopt.php (Viper прав)
Вот вытащила вам пример оттуда, чтобы вы время не тратили на чтение всего контента:
Sime sites may protect themselves from remote logins by checking which site you came from.
Then you might want to use CURLOPT_REFERER
Спойлер (Отобразить)

Можно переделать для себя
Смысл такой, если вы открываете сайт нормальным образом, например по ссылке из гугла, перед вами же не возникает капча, чтобы продолжить просмотр? вот и здесь вы иммитруете переход по ссылке, и ещё нужно использовать proxy

(Отредактировано автором: 11 Мая, 2011 - 16:09:48)

 
 Top
algebra
Отправлено: 11 Мая, 2011 - 16:32:44
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_URL, "***/results/stavki.jq.php?race_id=180");
  5. curl_setopt($ch, CURLOPT_POST, 0);
  6. curl_exec($ch);
  7. ?>
  8.  


всё равно срабатывает защита сайта

(Отредактировано автором: 11 Мая, 2011 - 16:33:23)

 
 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