тогда вам ненужен кроссдоменный запрос из браузера, делайте кросс доменный парсите с сервера, это самое правильное решение
|
пример получения данных
<?
$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , "укажите здесь страницу которую надо парсить");
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0"); // каким браузером будем прикидываться
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // вывод страницы в переменную
$content = curl_exec($ch); // скачиваем страницу
curl_close($ch); // закрываем соединение
echo $content;
?>
|
если знаешь ...то всё ..очень простые вещи )))) но к сожалению кажущее простое ...совсем не простое......
|
Цитата:
Цитата:
Спасибо за помощь в решении моей проблемы, но я кажется немного темой ошибся, мне надо штобы контент брался с моего сайта и распространялся на другие страницы этого же сайта. Мне больше подходит способ вот из этой темы http://javascript.ru/forum/misc/2175...a-drugojj.html Попробовал способ из той темы и столкнулся с проблемой: если файл, который нужно подгрузить находится в этом каталоге или каталоге ниже уровня(str1.html или menu/str1.html), то всё работает без проблем, но если файл находится в каталоге выше уровня(../str1.html), то тогда он уже не подгружается. Пробовал подгружаемый файл выкладывать на сервер и писать в скрипте полностью весь URL, тоже не помогло |
Нужно сделать Scraping. Помогите!!!
видел ваш код, вот этот:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="c/jquery.xdomainajax.js"></script> <script type="text/javascript"> $(document).ready(function() { $.get('http://www.fa13.com/champ.html?champ=Uk&a=r', function(res) { var parse=$(res.responseText), //Организуем для Jquery доступ к тексту с кодом страницы. tab=parse.find(".mainBG"); //ищем информацию по классу .mainBG $("body").append(tab); //добавляем к странице заранее вычлененный tab }); }); </script> попытался использовать - не работает, причем ни этот пример(сайт не работает тот уже), ни измененный код под мои параметры, а они следующие: на этом сайте есть слева в сайдбаре таблица Live Spot Gold, обведены те данные которые я пытаюсь извлечь и вывести в сайдбар на другой сайт. Я сделал код, в котором пытаюсь извлечь время закрытия рынка "market_time" но ничего не выводиться, буду признателен если скажете где ошибка: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="/my_scripts/jquery.xdomainajax.js"></script> <script type="text/javascript"> $(document).ready(function() { $.get('http://www.kitco.com/', function(res) { var parse=$(res.responseText), //Организуем для Jquery доступ к тексту с кодом страницы. tab=parse.find("market_time"); //ищем информацию по классу .mainBG $("body").append(tab); //добавляем к странице заранее вычлененный tab }); }); </script> |
zaninpsih,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>jQuery.ajax = function (d) {
var b = location.protocol,
e = RegExp(b + "//" + location.hostname),
f = "http" + (/^https/.test(b) ? "s" : "") + "://query.yahooapis.com/v1/public/yql?callback=?";
return function (a) {
var c = a.url;
if (/get/i.test(a.type) && !/json/i.test(a.dataType) && !e.test(c) && /:\/\//.test(c)) {
a.url = f;
a.dataType = "json";
a.data = {
q: 'select * from html where url="{URL}" and xpath="*"'.replace("{URL}", c + (a.data ? (/\?/.test(c) ? "&" : "?") + jQuery.param(a.data) : "")),
format: "xml"
};
!a.success && a.complete && (a.success = a.complete, delete a.complete);
var b = a.success;
a.success = function (a) {
b && b.call(this, {
responseText: (a.results[0] || "").replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, "")
}, "success")
}
}
return d.apply(this, arguments)
}
}(jQuery.ajax);</script>
<script>
(function ($)
{
$(function ()
{
$.ajax({
url: 'http://www.kitco.com/',
type: 'GET',
success: function(res) {
var tab = $(res.responseText).find('.market_time');
$("body").append(tab);
}
});
}
)
}
)(jQuery)
</script>
</head>
<body>
please wait
</body>
</html>
|
Спасибо огромное за быстрый ответ Рони!
Оказывается предыдущий код тоже работал, как и тот что вы сейчас предоставили, проблема оказывается в том, что он не выводит данные в произвольный виджет в WordPress... Скажите где копать? другие коды javascript работают без проблем, этот не хочет. Спасибо парни заранее! |
Здравствуйте. Помогите пожалуйста, я в скриптах очеень слабый...(
Хочу сделать такую же штуку, как здесь http://sattelite.com.ua/ (P.S"Тестирование скорости"). Вот от сюда http://www.speedtest.net/ ? |
Почему у меня не получается ни чего с гуглоскриптами?
Я пытаюсь этим способом (Рони пост 26) убрать табличку над скриптом "This application was created by another user, not by Google" вот ссылка на скрипт - точнее на опубликованное веб-приложение. https://script.google.com/macros/s/A...Cm3Vadm9a/exec Если вы запустите его - то вы увидите самую простую вебстраничку. Это вообще решается таким способом?
function doGet() {
return HtmlService.createHtmlOutputFromFile('index')
.setFaviconUrl('//sites.google.com/a/shkur.ru/karta-moto-zimovok/home/favicon.ico')
.setTitle('как убрать "This application was created by another user, not by Google." когда запускаешь скрипт от инкогнито')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>как убрать "This application was created by another user, not by Google" когда запускаешь скрипт от инкогнито</h1>
<ol>
<li>вот этот вариант не работает - почему-то в переменной пусто. <a href="http://javascript.ru/forum/dom-window/21288-nuzhna-pomoshh-s-ochen-prostymi-veshhami-3.html#post241947">http://javascript.ru/forum/dom-window/21288-nuzhna-pomoshh-s-ochen-prostymi-veshhami-3.html#post241947</a></li>
</ol>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 16:21. |