Читайте также:
|
|
У каждого веб-сайта можно посмотреть исходный код страницы, чем и воспользуемся. Создаем в Microsoft Access таблицу, в которой хранится информация о коде страницы, т.е. как в коде страницы, данного сайта определить что есть что. Эти участки кода будут годны не для любого веб-сайта. Необходимо исследовать код страницы различных веб-сайтов и занести эти специфические свойства в таблицу для каждого веб-сайта отдельно, иными словами – создать базу данных. Пример:
Websites | |||||
Id | Name | Url | Template_Url | Template_Title | Template_News |
Creep.ru | http://creep.ru/hardware/1161046245-pny-xlr8-videokarta-s-vodyanym-ohlazhdeniem-2-foto.html | */uploads/posts/*/* | <h1>[!]</h1> | <div id="news-id-[1]" style="display:inline;"><!--TBegin-->[!]<!--TEnd--></div> |
Websites | ||||||
Images | Template_Images | shortstory | fullstory | section | category | author |
/images/articles/ | [image1][shortstory] | [image1][fullstory][images] | ||||
Код программы, который извлекает информацию из веб-страницы (код страницы):
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
WebCode.Text = ""
WebBrowser1.Navigate(UrlTextBox1.Text)
End Sub
Код программы, который определяет наличие изображений на странице (эти файлы сохраняются в отдельную папку):
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For Each el As HtmlElement In WebBrowser2.Document.GetElementsByTagName("img")
If el.GetAttribute("src") Like Template_UrlTextBox1.Text Then
Imagelink = el.GetAttribute("src")
ImgLink = Imagelink
ImgLink = Replace(ImgLink, "about:blank", domain)
TextBox4.Text = TextBox4.Text + Imagelink + vbCrLf
ImgNum = Int(Rnd() * 100000000)
imgName = ImgNum & "_"
ImgNum = Int(Rnd() * 100000000)
imgName = imgName & ImgNum
If ImgLink Like "*.jpeg" Then
ImgType = ".jpeg"
ElseIf ImgLink Like "*.jpg" Then
ImgType = ".jpg"
ElseIf ImgLink Like "*.gif" Then
ImgType = ".gif"
ElseIf ImgLink Like "*.png" Then
ImgType = ".png"
End If
My.Computer.Network.DownloadFile(ImgLink, Application.StartupPath + "\Images\" + imgName + ImgType)
End If
Next
Dim myRegExp As Object
Dim myMatches As Object
Dim myMatch As Object
myRegExp = CreateObject("VBScript.RegExp")
myRegExp.IgnoreCase = True
myRegExp.Pattern = Title
myMatches = myRegExp.Execute(WebCode.Text)
If myMatches.Count >= 1 Then
myMatch = myMatches(0)
If myMatch.SubMatches.Count >= 1 Then
TextBox3.Text = myMatch.SubMatches(0)
Else
TextBox3.Text = ""
End If
Else
TextBox3.Text = ""
End If
myRegExp = Nothing
myMatch = Nothing
myMatches = Nothing
End Sub
Код программы, который обрабатывает код страницы (удаляет участки кода, оставляет текст – необходимую информацию):
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox5.Text = System.Text.RegularExpressions.Regex.Replace(TextBox5.Text, "<.*?>", "")
End Sub
Обработанный текст сохраняется в Microsoft Access следующим образом:
News | ||
id | title | fulltext |
PNY XLR8 - видеокарта с водяным охлаждением (2 фото) | Компания PNY Technologies объявила о начале поставок своих видеокарт PNY XLR8 Liquid Cooled GeForce GTX 580 и XLR8 Liquid Cooled GTX 580 with CPU Cooling. |
Далее, программа заполняет, полученной информацией, поля в базе данных MySQL:
Вывод
Поставленная задача решена. Программа, которая пытается решить ее, использует Microsoft Access, MySQL. Обработанные данные записываются и хранятся в базе данных Microsoft Access (за исключением изображений). Что бы использовать эти данные, необходимо импортировать их в базу данных MySQL. Таким образом, необходимая информация является обработанной и размещенной для обозрения в интернете. С одной стороны программа упрощает работу по размещению новостей, статей, но у нее имеются так же и отрицательные стороны. Ячейки в базах данных не могут хранить слишком много символов, поэтому приходится хранить в нескольких ячейках, а это в свою очередь влечет за собой потерю целостности информации.
Дата добавления: 2015-08-26; просмотров: 31 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Описание решения поставленной задачи | | | Численность и размещение населения. |