Вопрос: VB 6.0 и HTML , копирование информации с инета
Добавлено: 06.12.05 22:12
Автор вопроса: Николай П | Web-сайт:laguna-uhta.ru/
Задача.
Необходимо с определённой страницы сайта скопировать часть информации (используя VB) и занести её в базу данных, в дальнейшем эту информацию просматривать тоже с использованием VB.
Всё до чего я сам достиг(используя информацию с форумов)- это открытие в форме(на VB)страницы необходимого сайта и открытия,в другой форме, html кода этой страницы, как действовать дальше не знаю и информацию найти не могу ...
Как мне сделать следующее:
html код страницы у меня открывается в TextBox,нужен пример кода который в этом тексте будет искать часть текста который находится между <H1 и </H1>после копировании этого текста он сохраняется в БД, дальше находится текст между тегами <TABLE>и </TABLE>,но именно тот текст в котором имеется определённое слово.После нахождения также копируется в базу данных(вместе с html тэгами).
В дальнейшем мне надо что бы в программе на VB можно было просматривать эту информацию,естественно в нормальном виде, с таблицами и всем форматированием.
Короче, мне как то надо вытаскивать описание (именно технические характеристики)на конкретные товары с сайта http://www.i2b.ru что бы в дальнейшем можно было их просматривать на локальной машине.
Буду благодарен за любую помощь.
Я примерно понимаю как это надо сделать,но не знаю как это делать в VB ...
У меня на форме: WebBrowser1,ComboBox1,TextBox1 и несколько CommandButton
1.
Private Sub Command2_Click()
WebBrowser1.Navigate Combo1
adr = Combo1
Combo1.AddItem (adr)
End Sub
- открываю страницу сайта,адрес берётся из Combo1
2.
Text1.Text = WebBrowser1.Document.body.innerHTML
- в поле Text1.Text заношу html код страницы
далее как то надо сделать что бы:
1. в тексте (Text1.Text)нашлась и скопировалась строка между тэгами <H1 и </H1> и именно та которая мне нужна. Как вносить её в БД я вроде знаю.
2.кажется надо создать коллекции из IHTMLTableElement по тэгам <TABLE> , но как это точно делать - не знаю
3.надо найти коллекцию которая будет содержать определённое слово, к примеру "производитель", и содержимое этой коллекции (вместе с тэгами) внести в БД.
4.надо вывести содержимое БД ,текст с html тэгами,которые копировали с интернет страниц, в удобочитаемом виде на VB форму, как это сделать пока тоже не знаю , думаю что тоже как-то надо использовать контрол WebBrowser ...
Надеюсь на вашу помощь !
Public Function GetText1(AllText$, LeftText$, RightText$) As String
'Возвращает текст между двумя другими текстами с двух сторон
s1 = InStr(1, AllText$, LeftText$, 1) + Len(LeftText$)
s2 = InStr(s1, AllText$, RightText$, 1)
GetText1 = Mid(AllText, s1, s2 - s1)
End Function
Private Sub Command1_Click()
WebBrowser1.Navigate Text1.Text
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
 im Doc As IHTMLDocument2
Set Doc = WebBrowser1.Document
 im Tables As IHTMLElementCollection
Set Tables = Doc.All.tags("TABLE"
 im Quote As IHTMLElement
Set Quote = Tables.Item(17, 96).All.tags("TD".Item(2, 2)
RichTextBox1 = Quote.innerHTML
End Sub
но радовался не долго, удалось запустить только один раз,повторные запуски выдают ошибку 91:
Object variable or with block variable not set
в модуле отмечается:
Tables=Nothing
подскажите пожалуйсто из за чего это может быть и как с этим бороться , заранее извиняюсь если вопрос этот глупый, но я только начинаю изучать VB ...