Парсер информации с сайта на Js
Привет.
Я полный нуб вообще в веб программировании и полез в node.js точно не поняв что это. У меня даже запустить его не получилось. Дело в том что в node.js скрипт выполняется на стороне сервера,а мне нужно на стороне клиента. var request = require("request"), cheerio = require("cheerio"), url = "http://www.wunderground.com/cgi-bin/findweather/getForecast?&query=" + 02888; request(url, function (error, response, body) { if (!error) { var $ = cheerio.load(body), temperature = $('#temp').val(); console.log("Температура " + temperature + " градусов по Фаренгейту."); } else { console.log("Произошла ошибка: " + error); } }); Это скрипт на node.js, помогите пожалуйста написать такой же на яваскрипт. |
Это и есть JavaScript. NodeJS это не язык программирования. На счёт вашей проблемы, никто вам не поможет, так как вы даже не объяснили только что вам нужно.
|
tourniquet, мне нужно: я открываю ссылку и запускается (при нажатии на кнопку спарсить) скрипт, на моем компьютере, не на сервере
|
Капец как информативно :D
|
<!DOCTYPE html> <html> <head> <title>Parcing</title> </head> <script type="text/javascript"> function getTemp() { var temperature = document.getElementById('temp').value; alert("Температура " + temperature + " градусов по Фаренгейту."); } </script> <body> Температура по Фаренгейту <input id = "temp" type="text" value='451' /> <button onclick="getTemp();">Спарсить</button> </body> </html> |
HacKMeDOTcom, если трудно через node.js, то проще всего это сделать через Google Apps Script, в котором можно через
var ответ = UrlFetchApp.fetch(ссылка, переменные);получить содержимое любой страницы. Описание и примеры здесь: https://developers.google.com/apps-s.../url-fetch-app Если не хочешь через Google Apps Script, то можно через PHP, используя функцию "file_get_contents()". Подробности и примеры использования тут: PHP file_get_contents() Найти безплатный PHP-hosting можно через поисковый запрос "php domain free" Поиск: "php domain free" 000webhost.com не советую, т.к. они удалили возможность обращения к чужим страницам. Ну и третий способ - это новые возможности в JS - через Fetch API. Подробней о ней с примерами использования: Fetch API Метод fetch: замена XMLHttpRequest Введение в fetch. Прощай, XMLHttpRequest! Но только я не пользовался третьим способом ещё и не знаю, насколько он тебе подойдёт, если брать с чужих страниц содержимоое. А вот 2 первых способа подойдут однозначно. При этом я советую это сделать через Google Apps Script. Его можно развернуть как WEB-приложение и обращаться потом как к простой странице, даже не включая JS в обозревателе сети - всё будет исполняться на серверах Google. |
pureJS, И у вас основная моя проблема (изначальная), дело в том что fetch и xmlhttprequest я использовал, целый скрипт получилось написать, но это вообще предназначено для другого, для того чтобы взять информацию не со страницы, а с запроса, но спасибо.
|
Dilettante_Pro,
Не то что мне нужно, у меня используется парсинг с другой страницы. |
pureJS,
С хостингом проблем не будет, если я начал только изучать JS, то в php я полный 0, можете ли вы мне дать исходный код простого парсера на php. Я так понял он будет исполняться на браузере пользователя, а не на сервере? |
Цитата:
HacKMeDOTcom, я вижу, что ты даже не понимаешь, что когда ты хочешь взять данные со страницы, то это запрос к ней. При таких знаниях у тебя вряд ли получится сделать то, что ты хочешь. Прочитай хотя бы одну путёвую книгу про PHP (к примеру), иначе ты не осилишь это! Или найми кого-то - здесь есть раздел "Работа". В своём ответе я написал целых 3 пути, два первых из которых на 100% верные! |
Цитата:
http://wiki.webimho.ru/%D0%BF%D0%BE%...B1%D0%BE%D1%82 |
pureJS,
<!DOCTYPE html> <html> <head> <script> { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","/temp/moskwa",false); xmlhttp.send(); if(xmlhttp.status==200) { var str=xmlhttp.responseText; var n=str.search("temp"); var final=str.substring(n+18,n+24); var url = "/send/db/moskwa" + escape(final); xmlhttp.open("GET", url, true); xmlhttp.send(); } } document.addEventListener("DOMContentLoaded", ready); </script> </head> Вот написал, все равно не получается и дополнительно гугл хром блокирует xmlhttprequest |
Часовой пояс GMT +3, время: 03:01. |