понедельник, 8 ноября 2010 г.

Как написать парсер прокси?

VB Net Proxy Parser\Прокси парсер.Часть 1 Регулярные выражения.
 Идея написать свой прокси-парсер пришла после того, как у учебном заведении поставили фильтр, который как то нужно было обходить.Сайты с прокси были блокированы, поэтому нужен был прокси парсер с HTTP прокси.Было решено написать свой)
 Итак немного теории: принцип парсера основан на выборке из текста регулярных выражений(см).
  Мы парсим прокси, а они имеют вид к примеру 12.152.36.25:3128. Составляем выражение:
   
([0-9]+[.][0-9]+[^0-9][0-9]+[^0-9][0-9]+[:][0-9]+)

Это выражение означает, что число от 1 до 9 ([0-9]) повторяется несколько раз("+") и имеет константу ".". (прим. константы пишутся в виде [const], где  "const" любой символ)

Код выборки для Vb net:

Imports System
Imports System.Text.RegularExpressions

Public Module Test

Public Sub Main()
' Define a regular expression for repeated words.
Dim rx As New Regex("
([0-9]+[.][0-9]+[^0-9][0-9]+[^0-9][0-9]+[:][0-9]+)", _
RegexOptions.Compiled Or RegexOptions.IgnoreCase)

' Define a test string.
  Dim text As String = "Здесь будет текст HTML страницы"

' Find matches.
  Dim matches As MatchCollection = rx.Matches(text) 'нахождение совпадений

  ' Тут собственно вывод результата.
Console.WriteLine("{0} matches found in:", matches.Count)
Console.WriteLine(" {0}", text)End Sub
End Module


Продолжение следует....