.netでYourFileHostのスクラッピングサイトを作る2
エントリに女優の名前がついているか調べるために、女優の名前一覧を取得する必要がある。
Wikiから女優一覧を引っ張ってきて String.Contains で名前が含まれているかを調べることにする。
Wikiから女優一覧を取ってくるクラス
Imports System.Text.RegularExpressions ''' <summary> ''' Wikiから女優名をリストするクラス ''' </summary> ''' <remarks></remarks> Public Class ModWikiActressName Private m_actress As New List(Of String) Public Property Actress() As List(Of String) Get Return m_actress End Get Set(ByVal value As List(Of String)) m_actress = value End Set End Property Private Sub New() End Sub ''' <summary> ''' Actress一覧を取得 ''' </summary> ''' <returns></returns> ''' <remarks></remarks> Public Shared Function Read() As ModWikiActressName Dim instance As New ModWikiActressName instance.Actress = FindActress() Return instance End Function Private Shared Function FindActress() As List(Of String) Dim respons As String = GetResponse("http://ja.wikipedia.org/wiki/AV%E5%A5%B3%E5%84%AA", System.Text.Encoding.GetEncoding("utf-8")) '// RSSを検索 Dim r As New Regex("<li><a href="".*?title.*?>") Dim mc As MatchCollection = r.Matches(respons) Dim actresses As New List(Of String) For i As Integer = 0 To mc.Count - 1 '// URLを検索 Dim r2 As New Regex("title="".*?""") Dim mc2 As MatchCollection = r2.Matches(mc.Item(i).Value) If mc2.Count > 0 Then actresses.Add(mc2(0).Value.Replace("""", "").Replace("title=", "").Replace("&", "&").Replace(" (AV女優)", "")) End If Next Return actresses End Function End Class