Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/98: Рейтинг темы: голосов - 98, средняя оценка - 4.60
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571

Взять значения из сайта

01.04.2012, 14:13. Показов 19383. Ответов 62
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток форумчяни!
Мне в TRichEdit нужно вывести все ссылки сайта (любого сайта). Сайт этот я нашел, а вот как вытянуть хотя бы результат (выполнения скрипта)?
Вот сайт http://htmlweb.ru/analiz/sitemap.php

Добавлено через 18 минут
Вот как то нужно передать параметры
http://htmlweb.ru/analiz/sm.ph... reen&mail=

Добавлено через 40 секунд
C
1
http://htmlweb.ru/analiz/sm.php?url=http%3A%2F%2F1seook.16mb.com%2F&s=html&pr=0.8&prf=1&cf=weekly&lm=1&tit=1&robot=1&moved=1&rs=R&rsize=0&to=screen&mail=
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2012, 14:13
Ответы с готовыми решениями:

Как взять таблицу из сайта
Как взять таблицу из сайта и вставить в Delphi? Сайт,Таблица. Попробывал с IdHTTP и Memo, но не смог взять только нужную часть, весь символ...

Как взять данные с сайта
Например, загружается сайт и на нём текст, например в <input type="text" name="name" id="name"> Как мне взять и запихнуть весь текст с...

Как взять инфу с сайта?
Приветсвую, уважаемые форумчане! Передо мной поставили такую задачу: написать прогу на C#, которая должна : 1. автоматически...

62
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 20:40  [ТС]
Студворк — интернет-сервис помощи студентам
kzru_hunter, У меня стоит XE

Добавлено через 6 минут
Вот что то в этой строке
C++
1
Variant oIE = CreateOleObject("InternetExplorer.Application");
Добавлено через 8 минут
kzru_hunter, В этой функцие можно передать какоето другое значение
C++
1
2
3
4
5
6
app = CreateOleObject("Excel.Application");
books = app.OlePropertyGet("Workbooks");
books.Exec(Procedure("Open")<<"d:\\work\\finder\\files\\22222.xls");
book = books.OlePropertyGet("item",1);
sheet= book.OlePropertyGet("WorkSheets",1);
app.OlePropertySet("Visible", 1);
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
01.04.2012, 20:41
Вот пример проекта с использованием boost:regex
Вложения
Тип файла: rar test.rar (218.8 Кб, 19 просмотров)
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 20:42  [ТС]
Или как то передать не Експлорер а например Хром
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
01.04.2012, 20:49
Цитата Сообщение от gorin Посмотреть сообщение
Или как то передать не Експлорер а например Хром
нельзя, только в IE или Firefox (через XPComm, не пробовал его)
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 20:56  [ТС]
kzru_hunter, там идет чтение из cosy.htm!

Добавлено через 1 минуту
kzru_hunter, Где ты этот код взял предыдущий?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.04.2012, 21:00
Не удается найти проект с boost
Миниатюры
Взять значения из сайта  
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 21:07  [ТС]
Avazart, ТЫ когда проверяешь проект лучше код копируй в компоненты, тогда не каких проблем не будет, у меня все работает те что кидал на этот пост kzru_hunter

Добавлено через 3 минуты
kzru_hunter, давай разберемся стой ошибкой В первом твоем примере
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
01.04.2012, 21:09
Ссылки почему-то абсолютные были прописаны, исправил.
gorin это наработка давняя
Вложения
Тип файла: rar test.rar (279.4 Кб, 14 просмотров)
1
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 21:26  [ТС]
Avazart, Как ты на пост добавляешь картинки "Миниатюры"?

Добавлено через 6 минут
kzru_hunter, Это твоя наработка?

Добавлено через 2 минуты
kzru_hunter, Я не могу понять к чему это пример, там идет считывания из скачиваемой страницы, вот тот твой первый пример то что нужно!

Добавлено через 7 минут
kzru_hunter, может у тебя где то завалялся первый пример (проект)?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
01.04.2012, 21:30
я же говорил, что не знаю, что за ошибка, поэтому сожалею
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.04.2012, 21:34
У меня нормально работают оба примера и с OLE IE (и без Sleep) и boost (пришлось правда переносить в новый проект)

Вот только осталось разобраться что это
Миниатюры
Взять значения из сайта   Взять значения из сайта  
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
01.04.2012, 22:02  [ТС]
C++
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
#include <vcl.h>
#pragma hdrstop
#include <ComObj.hpp>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Variant oIE = CreateOleObject("InternetExplorer.Application");
        oIE.OlePropertySet("Visible", true); // закоментировать, если не нужно отображать IE
        oIE.OleFunction("Navigate", "http://xtreme-jumps.eu/demos.php");
        while (oIE.OlePropertyGet("ReadyState") != 4) Sleep(50);
 
        Variant oDocument = oIE.OlePropertyGet("document");
        Variant oLinks = oDocument.OlePropertyGet("links");
        int iTotalLinks = oLinks.OlePropertyGet("Length");
        for ( int i = 0; i < iTotalLinks; i++ )
        {
                Variant item = oLinks.OleFunction("item", i);
                String s = item.OlePropertyGet("href");
                Memo1->Lines->Add(s);
        }
        oIE.OleFunction("Quit");
}
//---------------------------------------------------------------------------
Все та же ошибка


Подскажите причину этой ошибки
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
02.04.2012, 11:19  [ТС]
Работает отлично, но не все ссылки сайта выьирает

Добавлено через 1 минуту
должно также выбирать все внутренние ссылки сайта (новости также)
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2012, 14:11
Это ты OLE или про boost - вариант?
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
02.04.2012, 17:19  [ТС]
Avazart, OLE
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2012, 17:35
А я взялся за boost. - не будет зависимости от IE и экономится время которое необходимое на запуск IE

https://www.cyberforum.ru/cpp-... 36710.html

должно также выбирать все внутренние ссылки сайта (новости также)
Нужно рекурсию делать по найденным ссылкам.

Вот написал написал на основе прогу - ищит также по вложенным страницам

Осталось обкатать регулярку и работу с потоками.

Прогу особо не тестировал, если кто-то проверит выложите результат пожалуйста
Вложения
Тип файла: rar Поиск ссылок.rar (107.5 Кб, 63 просмотров)
0
 Аватар для gorin
209 / 16 / 4
Регистрация: 18.08.2009
Сообщений: 571
06.04.2012, 00:47  [ТС]
Avazart, ты ее компилировал, не видит 4 переменные, хедер вроде подключен 2-й
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.04.2012, 01:17
Конечно, там 3 юнита: основной, поток,ф-ция парсер.
А какие переменные не видит?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2012, 18:33
Не знаю актуальна ли тема для TC, решил выложить доработку программы.
1. Найти оптимальную как я хотел регулярку не удалось поэтому я ее упростил
2. Переписал класс потока решив проблему TThread,Terminate() и Terminated
3. Добавил статистику,обработку и вывод ошибок IdHTTP и случаев когда он сильно долго грузит страницу.
4. Сохранение всех ссылок и ссылок которые не удалось открыть в файл.
Вложения
Тип файла: rar Получить ссылки.rar (453.4 Кб, 80 просмотров)
2
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2012, 18:45
Вот скрин
Миниатюры
Взять значения из сайта  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2012, 18:45
Помогаю со студенческими работами здесь

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

Как взять textarea с сайта
Подскажите как с помощью java взять текст с textarea на сайте, хотя бы в каком направлении смотреть!

Как взять данные с сайта?
как взять данные из сайта если можна дайте пример рабочего файла

Взять модуль с сайта ГИБДД
Увидел на сайте Госавтоинспекции МВД РФ интересный модуль, (на приложенном фото обведен) который показывает аварийность на дорогах за...

Взять элемент с другого сайта
Можно ли в Jquery взять элемент div по id из другого сайта по url или по iframe?


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru