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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Проклятый принц
Отправлено: 03 Июня, 2013 - 15:53:16
Post Id


Гость


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


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

[+]


Добрый день, товарищи. Давно ищу метод программно копировать данные с других сайтов, но ни как не могу найти. Недавно, подумал, поразмыслил, и пришло в голову копировать данные (текст) при помощи jqury методом post или get.
1) $.post("http://мой-сайт.ru/", function(Данные){
alert(Данные);
});
Результат с моего сайта: Все данные с сайта нормально приходят в виде html кода.

2) $.post("http://чужой-сайт.ru/", function(Данные){
alert(Данные);
});
Результат с чужого сайта: Ни чего не происходит.

Этот метод я делал на денвере.
Подскажите пожалуйста, что я не правильно делаю? Или хотя бы, подскажите, как можно программно копировать данные в виде текста с другого сайта?
За ранние спасибо!
 
 Top
esterio
Отправлено: 03 Июня, 2013 - 15:57:22
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Вам нужно заюзать cURL

Проклятый принц пишет:
2) $.post("http://чужой-сайт.ru/", function(Данные){
alert(Данные);
});
Результат с чужого сайта: Ни чего не происходит.

и правильно что ничего не виходит. есть такое понятие как политика безопасности. нужно рыть в сторону кроссдоменных запроссов.
 
 Top
Проклятый принц
Отправлено: 03 Июня, 2013 - 16:04:47
Post Id


Гость


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


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

[+]


Чужой сайт - это сайт на моём денвере, с абсолютной дырой в безопасности.
Вопрос остаётся в силе: подскажите, как можно программно копировать данные в виде текста с другого сайта?
 
 Top
esterio
Отправлено: 03 Июня, 2013 - 16:10:33
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




вопрос останеться в силе до сих пор, пока вы не откроете гугл и не вбьете запросс "кроссбраузреные запроссы jquery". а так я вам ничем не могу помочь если вы не понимаете что такое домен и что хоть 100 сайтов на отдном сервере, но с раззними доменамы тоже не прокатит
 
 Top
Проклятый принц
Отправлено: 03 Июня, 2013 - 16:19:32
Post Id


Гость


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


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

[+]


Так бы и сразу, товарищ. Спасибо большое!
 
 Top
ingram
Отправлено: 03 Июня, 2013 - 16:22:38
Post Id



Гость


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


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




Задействуйте php , в частности библиотеку cURL (как уже писал ТС выше).

PHP:
скопировать код в буфер обмена
  1.  
  2. function gethtm($url) {
  3.         $put = preg_replace("/[^\/\\\\]*$/i", '', $_SERVER['SCRIPT_FILENAME']);
  4.         $ch = curl_init();
  5.         curl_setopt($ch, CURLOPT_URL, $url);
  6.         curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
  7.         curl_setopt($ch, CURLOPT_VERBOSE, 1);
  8.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  9.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
  10.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11.         curl_setopt($ch, CURLOPT_COOKIEJAR, $put."2.txt");
  12.         curl_setopt($ch, CURLOPT_COOKIEFILE, $put."2.txt");
  13.         curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  14.         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  15.         $result = curl_exec($ch);
  16.         curl_close($ch);
  17.         return $result;
  18. }
  19.  
  20. echo gethtm('http://ya.ru/');
  21.  
 
 Top
esterio
Отправлено: 03 Июня, 2013 - 16:28:16
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




ingram
Рекомендую еще раз пересмотреть функцию которую вы написали. Не в обиду но она крывая. Пост она не отправит, с SSL такде будут траблы, про куки я вообще молчу(лучше парсить заголовкы вручную). Кроме замены file_get_contents в ней не вижу смисла.
П.С. извиняюсь если обидел
 
 Top
ingram
Отправлено: 03 Июня, 2013 - 16:53:22
Post Id



Гость


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


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




Да ни в чем вы меня не обидели. Прост вы посмотрите внимательно заголовок темы.))) Эта функция именно для копирования данных с сайтов, если требуется отправлять POST запросы и работать с SSL, естественно нужны другие параметры.

А что кстати с куками не так? Сколько, юзал все отлично.

Если уж углубляться, то cURL в принципе кривая лаба, так как с флеш куками работать не умеет, аяксовые ловушки не обходит, каптчи не вводит итд.....
 
 Top
esterio
Отправлено: 03 Июня, 2013 - 17:01:17
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




ingram пишет:
Если уж углубляться, то cURL в принципе кривая лаба, так как с флеш куками работать не умеет, аяксовые ловушки не обходит, каптчи не вводит итд.....

Категорически не согласен:
причем куки флеша. признаюсь чесно с флешом мало знаком, да и не его ета задача
аякс по сути обычный запрос, сколько делал проблем не возникало
капча по сути картинка подключена через тег IMG, что также не его задача и ничто не мешает регуляркой выдернуть урл и отослать еще один запрос по капчу.
Так что что не говорите но лучше cURL-а решения не встречал(может сокет и лучше, но много вручную приходится делать)

Стосовно кук. если у вас задача несколько пользователей, которые одновременно залогинены через КУРЛ, то с файлом будут траблы так как сессия одна будет на всех. Но ето зависит от задачи.
 
 Top
ingram
Отправлено: 03 Июня, 2013 - 17:18:19
Post Id



Гость


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


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




esterio Я с вами полность согласен! Можно всегда найти решение, я к тому что все эти приблуды с аяксами, куками, каптчами заметно затрудняют жизнь. Аякс можно обойти, но не сходу, нужно лазить к коде итд.... Это уже костыли.

Если вы достаточно много парсите сйтов, то рекомендую попробовать ZennoPoster http://zennolab[dot]com
Эта программа заметно упростит вам жизнь. После нее cURL это костыли костыльные))))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB