Я хочу, чтобы иметь возможность извлекать динамические данные с веб-страницы (цены акций). Я начал с того, что вернул html-код, прежде чем понял, что, поскольку это данные в реальном времени, html-код будет мало полезен. Хотя я ищу для сбора конкретных данных, все, что я хочу сделать, это обработать веб-страницу, которую я указываю, которая вернет текст с этого веб-сайта, а не код HTML. В принципе копия и вставка всей страницы была бы замечательной. Любые идеи были бы действительно оценены!Получение динамического текста с веб-сайта в vb.net (VS2008)
ответ
Ну, HTML содержит текст веб-сайта, поэтому вам просто нужно проанализировать HTML.
EDIT: Если данные отсутствуют в HTML-формате, но загружаются динамически, ситуация другая. Как я вижу, у вас есть два варианта:
- Узнайте, как данные загружаются (т. Е. Читайте JavaScript на странице). Если он обновляется через какой-либо веб-сервис, вы можете запросить тот же веб-сервис в своей программе.
- Используйте веб-браузер, чтобы получить данные, а затем получите динамическое HTML-дерево страницы. Возможно, WPF Webbrowser control может помочь вам в этом, но я не уверен, так как я никогда не делал этого сам.
Возможно ли найти эти же данные в готовом к употреблению формате, а не очищать HTML? Похоже, есть, вероятно, публичные веб-сервисы для котировок акций.
Например: Быстрый поиск "Фото цена WebService" объявился http://www.webservicex.net/stockquote.asmx; веб-сервис ASMX, который легко потреблять в .NET.
В проекте Visual Studio вы должны добавить ссылку на эту услугу с помощью команды «Добавить веб-ссылку»; заданный вами диалог зависит от того, настроен ли ваш проект на .NET 2.0 или .NET 3.0/3.5.
Я добавил ссылку на службу под названием StockPriceProxy
:
Public Function GetQuote(ByVal symbol As String) As String
Using quoteService As New StockPriceProxy.StockQuote
return quoteService.GetQuote(symbol)
End Using
End Function
Каким образом я смогу получить эти данные в визуальной студии (vb.net)? я могу вручную сделать это и поднять данные, которые хочу, но все, что я хочу сделать, это нажать кнопку с именем «update» behinf, какой код будет извлекать последние данные с этого сайта. – Craig
«Screen выскабливание» разбором HTML настолько начале 2000-х ... то, что я бы сделать, это прочитать на Amazon's Mechnical Turk. Вы можете создать архитектуру с очередью, в которой вы отправляете URL-адреса этому сервису Mechnical Turk. Служба автоматически распределит эти кусочки работы пользователям, которые затем выполнили бы грязную задачу копирования и вставки полезной информации о котировках акций, которая вам нужна. Пользователи со всего мира с нетерпением ожидают доставки следующего URL-адреса в свою папку «Входящие» в механическом туре ... привязка к возможности копирования/вставки другой цены акций для вашего приложения. Конечно, может потребоваться несколько минут, чтобы обновить ваши цены, но, эй, они будут РУЧНЫМИ, разбираемыми РЕАЛЬНЫМИ людьми по всему миру! Просто подумайте о возможностях!
спасибо за предложение, но это на самом деле не поможет мне в долгосрочной перспективе, поскольку это может быть задачей, которую я делаю каждые несколько минут или около того .. также это означает, что мне нужно будет сами вводить данные или дать кому-то доступ к моему исходному коду, ни один из которых не является предпочтительным! Причина, по которой я хочу захватить текст, - это простота, я придумаю дальнейшие методы обработки данных и получения чего-либо, что я считаю нужным – Craig
Я просто был мудрым парнем, как другие предложили здесь, опубликовать ссылку на сайт, который вы пытаетесь очистить. Вы получите лучшие ответы. – Sean
Не могли бы вы разместить ссылку на веб-сайт, который вы пытаетесь захватить? Затем мы могли бы попытаться выяснить, как извлекаются данные. – Heinzi