Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение текста в нужном месте Web-странцы 
:(
    Опции темы
Rutti
Дата 13.9.2015, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Как получить текст в нужном месте web-страницы (предположим считать текст "Поиск недвижимости" на этой странице http://cpp.ru/)?
PM MAIL   Вверх
feodorv
Дата 13.9.2015, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Вопрос не понятен. "Нужное место" - это какое? Контент страницы с веба получили? Тогда:
Код
ptr = strstr( content, "Поиск недвижимости");
если в конец контента добавить '\0'.

Это сообщение отредактировал(а) feodorv - 13.9.2015, 21:11


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Rutti
Дата 15.9.2015, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Цитата(feodorv @  13.9.2015,  21:11 Найти цитируемый пост)
"Нужное место" - это какое?

Тест на странице. Пример я  привёл.


Цитата(feodorv @  13.9.2015,  21:11 Найти цитируемый пост)
Контент страницы с веба получили?

Нет. Не знаю как это делается.

PM MAIL   Вверх
baldina
Дата 15.9.2015, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(Rutti @  15.9.2015,  12:50 Найти цитируемый пост)
Не знаю как это делается

при помощи протокола http. попробуйте например libcurl

Цитата(Rutti @  15.9.2015,  12:50 Найти цитируемый пост)
Тест на странице. Пример я  привёл.

как в html определить нужное место? html это не изображение в браузере, программа - не человек. 
если нужно просто найти подстроку в тексте, то feodorv Вам ответил. С точностью до кодировки, пробелов и возможных тегов внутри фразы))

Добавлено @ 13:07
если вы не знаете текст, и вам нужно его получить, должны быть какие-то признаки, по которым искать. например, требуется искать содержимое body, или h1, или div .heading-block, или еще что-то

Это сообщение отредактировал(а) baldina - 15.9.2015, 13:08
PM MAIL   Вверх
Rutti
Дата 18.9.2015, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Цитата(baldina @  15.9.2015,  13:03 Найти цитируемый пост)
html это не изображение в браузере

Я не имел в виду изображение.

Цитата(baldina @  15.9.2015,  13:03 Найти цитируемый пост)
если вы не знаете текст, и вам нужно его получить, должны быть какие-то признаки, по которым искать.

Я знаю чётко место в сайте, которое мне нужно получить. Вопрос только - как. Я не знаю как "добраться" до html-страницы. 

Это сообщение отредактировал(а) Rutti - 18.9.2015, 18:03
PM MAIL   Вверх
feodorv
Дата 18.9.2015, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Rutti @  18.9.2015,  18:01 Найти цитируемый пост)
Я не знаю как "добраться" до html-страницы. 

Цитата(baldina @  15.9.2015,  13:03 Найти цитируемый пост)
при помощи протокола http. попробуйте например libcurl




--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Rutti
Дата 30.1.2016, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Не пойму в чём причина.
Скачал всё необходимое. Раскидал всё по папкам.
При выполнении:
Код

#include <curl/curl.h>
int main(void)
{
CURL *curl;//Объект CURL

//объект в который будет записан результат вызова функции curl_easy_perform
CURLcode res;

//выполняем инициализацю
curl = curl_easy_init();

if(curl) { //проверяем все ли ОК
//дальше работаем с опциями

//задаем опцию получить страницу http://nullflow.blogspot.com
curl_easy_setopt(curl, CURLOPT_URL, "http://nullflow.blogspot.com");

//указываем использовать прокси сервер
curl_easy_setopt(curl, CURLOPT_PROXY, "ip_proxy:8080");

//задаем опцию отображение заголовка страницы
curl_easy_setopt(curl, CURLOPT_HEADER, 1);

//вызываем функцию curl_easy_perform которая обработает все наши заданные опции и вернет результат, если res будет равен 0 то начит всё прошло успешно, иначе возникла какая то ошибка.
res = curl_easy_perform(curl);

//завершаем нашу сессию
curl_easy_cleanup(curl);
}

return 0;
}

Получаю ошибки

||=== Build: Debug in libcurl (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
main.cpp|10|undefined reference to `_imp__curl_easy_init'|
main.cpp|16|undefined reference to `_imp__curl_easy_setopt'|
main.cpp|19|undefined reference to `_imp__curl_easy_setopt'|
main.cpp|22|undefined reference to `_imp__curl_easy_setopt'|
main.cpp|25|undefined reference to `_imp__curl_easy_perform'|
main.cpp|28|undefined reference to `_imp__curl_easy_cleanup'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Почему?
PM MAIL   Вверх
fish9370
Дата 31.1.2016, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(Rutti @  30.1.2016,  16:30 Найти цитируемый пост)
Почему? 


это ошибка связывания (линковка), необходимо добавить -lcurl  в строку сборки

Это сообщение отредактировал(а) fish9370 - 31.1.2016, 15:32


--------------------
undefined
PM MAIL WWW ICQ   Вверх
Amp
Дата 31.1.2016, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Если говорить конкретно про указанный сайт, то страница там формируется js-кодом и curl не сильно спасет. В общем-то как и на многих сайтах в сети. Нужно брать headless-движок вроде phantomjs и грузить сайт им. А раз у ТС даже с подключением curl-а возникли трудности, то рекомендую просто взять ноду, поставить phantomjs через npm и накатать скрипт в 10 строчек кода на js.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0991 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.