Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 2

Парсер ссылок из поисковика

12.10.2015, 17:57. Показов 1840. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем я Java script только начала учить, а задали мне уже очень забавную задачу, к которой я даже толком не знаю как подойти. Нужно написать парсер который будет парсить результаты запроса из поисковика (например гугл). То есть ты ему даешь ключевое слово, он по нему контент парсит, выделяет из него ссылки на другие сайты и с них контент парсит. Для меня это не совсем темный лес, но и не светлый. Есть у меня вот такой кусок кода, но никак не могу осилить как бы его еще заставить ссылки выделять из того что он выдрал и по ним парсить текст:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var https = require('https');
ws= require('ws'),
request = require('request'),
cheerio = require('cheerio'),
iconv = require('iconv-lite'),
fs = require('fs'),
vow = require('vow');
 
var options = { 
    headers: [],
    host:'www.google.com',
    port: 443,
    path: "/?q=abc",
    method: "GET",
    maxRedirects: "10"
}
var req = https.request(options, function(res) {
    res.on('data', function(resultData){
        var StringData = resultData.toString();
        console.log(StringData); 
    var $=cheerio.load(
                    iconv.encode(
                        iconv.decode(
                            new Buffer(StringData,'binary'),
                        'win1251'),
                    'utf8')
                );
    });
    res.on('end', function(){
        console.log('end request');
        console.log('end request');
 
    });
});
 
req.on('socket', function (socket) {
    socket.setTimeout(10000);
    socket.on('timeout', function() {
        req.abort();
    });
});
 
req.on('error', function(err) {
    if (err.code === "ECONNRESET") {
        console.log("Timeout occurs");
        //specific error treatment
    } else {
        console.log(err); 
    }
});
 
//req.write();
req.end();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2015, 17:57
Ответы с готовыми решениями:

Парсер ссылок на PHP
Здравствуйте, форумчане! Есть такой сайт - https://postupi.online/professii/ на нём больше двух тысяч профессий. Как спарсить только...

Парсер всех ссылок сайта
Здравствуйте, нужен парсер всех существующих ссылок сайта(которые именно к нему относятся)(находил программы, но это шлак, если на сайте...

Парсер ссылок сайта - ошибка 404
{ WebClient client = new WebClient(); Stream stream = client.OpenRead(textBox1.Text); ...

4
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.10.2015, 00:22
Элла, вы $ выведите в более глобальную область

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

Добавлено через 5 минут
регулярки по поиску можно найти в интернете, их там до черта

Добавлено через 1 минуту
фильтры массивов тоже в инете можно найти
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
14.10.2015, 00:26
Элла ведь Google по запросу "node получить страницу" сразу дает ответ на ваш вопрос. Вот не пойму, то ли правильно вопросы задавать не умеете. Или хотите, чтоб все преподнесли на тарелочке
0
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 2
15.10.2015, 19:59  [ТС]
Цитата Сообщение от Poznakomlus Посмотреть сообщение
Элла ведь Google по запросу "node получить страницу" сразу дает ответ на ваш вопрос. Вот не пойму, то ли правильно вопросы задавать не умеете. Или хотите, чтоб все преподнесли на тарелочке
ну если вы код читали, то там и так страница получается. а мне надо с нее ссылки выделить и с этим у меня возник тормоз
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
15.10.2015, 20:53
Цитата Сообщение от Элла Посмотреть сообщение
а мне надо с нее ссылки выделить и с этим у меня возник тормоз
Че???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2015, 20:53
Помогаю со студенческими работами здесь

Парсер внешних ссылок по страницам сайта на JAVA - как сделать правильно?
Здравствуйте уважаемые Java разработчики. Столкнулся со следующей задачей - Необходимо написать код сервиса. Сервис определяет...

Парсер сайта и ссылок с сайта
Добрый день. Подскажите, как реализовать парсер сайта, с которого парсятся все URL и в свою очередь, с них парсятся еще URL?(содержимое...

Есть ли такая биржа ссылок, где можно размещать место для ссылок вне видимости страницы сайта
Например сдвинуть абсолютом размещаемые на сайте ссылки, вверх, вниз, вправо или влево?

Добавление ссылок на картинки без ссылок
Здравствуйте. На форуме вставляются картинки любого размера, и что бы они не растягивались за оверлей они автоматически ставятся в размер...

??? пропал из поисковика
Доброе время! подскажите пожалуйста: сайт был на первом месте в Яне по определенному ключевику. три дня назад сайта по этому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru