2008年06月17日

VB2008でYahoo!デベロッパーネットワークのXMLを取得する

前回のVisual Basic2008のソースの中のURLAssistSearchURLは、Yahoo API でヤフーのキーワードに対する関連語を取得するURLを作る関数を定義しています。

Dim APIID As String = "******"
の******には、ヤフー webサービスのIDが入ります。

Public Function URLAssistSearchURL(ByVal Keyword As String, ByVal Count As String) As String

Keyword は

検索したいキーワード
Count は
出力したい関連語の件数です

最大は100だったかな?

System.Web.HttpUtility.UrlEncode(Keyword)

という部分で、Keywordをutf-8でurlエンコードしています。

Visual Basic 2008は6.0と大きくことなるところの一つが、文字コードでしょう
vb6.0はシフトJIS だったのですが、VB2008はUTF-8が標準になっているので、APIとかXMLの取り扱いも文字コードを余り気にせずにできそうです。


Public Function URLAssistSearchURL(ByVal Keyword As String, ByVal Count As String) As String
'Yahoo Assist Search 関連語を検索する
Dim YahooAPIURL As String
Dim APIID As String = "******"
YahooAPIURL = "http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch?appid=" & _
APIID & "&query=" & System.Web.HttpUtility.UrlEncode(Keyword) & "&results=" & Count

Return YahooAPIURL
End Function

Yahoo!デベロッパーネットワークで詳しい情報は見て欲しいのですが

前回のソースではこの関数で返されたURLを

XDocument.load(URL)としてXDocumentを取得しています

この場合

Keyword に「ほしのあき」と入れて検索すると

ほしのあき 画像
ほしのあき DVD
ほしのあき 写真集

とかみたいに関連語を返すわけです

これがなにに役にたつかは?またのお楽しみ。
posted by kiyo at 20:59| Comment(0) | TrackBack(0) | xml | このブログの読者になる | 更新情報をチェックする

2008年06月14日

Yahoo WebサービスからXMLを取得する

Visual Basic 2008(vb2008)を使って、Yahooの関連検索ワードWebサービスから、XMLを引っ張ってこようと思います

Yahooの関連検索ワードWebサービス

YahooにあるサンプルのXMLを拾うURLは
サンプルリクエストURL
http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch?appid=YahooDemo&query=%e6%b2%96%e7%b8%84&results=2
そうすると、xmlで沖縄 の関連キーワードが出力されます

以下のファンクションは
Keyword に検索したいKeyword

Countに出力してほしい件数 URL のresults=2 の2の部分)をいれて
URLAssistSearchURL(Keyword, Count)
でリクエストのURLを作成して

XDocument.Load(YahooAPI.URLAssistSearchURL(Keyword, Count))

でXMLを取得しています。

そして検索結果をList形式で

return しています。

Option Strict On
Imports System.Xml.Linq
Imports System.Xml
Imports System.Net
Imports System.Web
Imports System
Imports System.IO
Imports System.Text
Imports System.Threading.Thread
Imports
Imports

Public Function YahooAssistSearch(ByVal Keyword As String, ByVal Count As String) As List(Of String)
Dim YahooXML As XDocument
Dim aw As XNamespace = "urn:yahoo:jp:srchunit"
Dim ICount As Long
Dim List As New List(Of String)
'Yahoo APIからXMLを取得

YahooXML = XDocument.Load(YahooAPI.URLAssistSearchURL(Keyword, Count))
'Clipboard.SetText(YahooAPI.URLAssistSearchURL(Keyword, Count))
'XMLからtotalResultsAvairable 何件ヒットしたかを取得して、Clngでlong型に変更する
ICount = CLng(YahooXML.Elements(aw + "ResultSet").@totalResultsAvailable.ToString)
Dim query As IEnumerable(Of XElement) = YahooXML.Elements(aw + "ResultSet").

'結果があれば
'If ICount > 0 Then
'Keyword 自体も追加
List.Add(Keyword)
For Each result In query
List.Add(result.Value)
Next
'End If

Return List

End Function
posted by kiyo at 20:46| Comment(0) | TrackBack(0) | xml | このブログの読者になる | 更新情報をチェックする

2008年06月07日

Yahooインデックス確認ツールの使い方

Visual Basic 2008 express editionで作ったYahooのインデックスを確認ツールの使い方です。

ツールをインストールすると、Windowsのスタートボタンのすべてのプログラムの中にも「Yahooインデックス確認プロジェクト」というのもできますので、そこから起動していただいてもいいです。

インデックス確認ツール下のボックスに調べたいホームページのURLをhttp://からいくつか改行しながら入れ言ってください

20から30くらいまではURLを入れてみましたが100とかはやったことがないので、わかりませんが複数調査できます。

IndexツールURL入力

写真では
http://www.yahoo.co.jp/
http://www.google.co.jp/

と入力しています

下の写真は そのチェックボックスは url:を選択しています。

url:コマンドの結果

入力ボックスの下に url: とsite:というボタンがあります

url:を選択すると

yahooの検索窓に

urr:http://www.yahoo.co.jp/
url:http://www.google.co.jp/
とそれぞれ検索したことになります

コマンドの結果のように
yahoo も 1
google も 1

これはこのURL のみがYahooにインデックスされている数を示します

http://quote.yahoo.co.jp/q?d=t&s=998407.O

このような、個別ページがインデックスされているかにも使えます。

チェックボックスを
site:

を選択すると

site:コマンドの結果

Yahooの検索で

site:www.yahoo.co.jp
site:www.google.co.jp

と入力したことの結果を調査します

www.yahoo.co.jp
以下のインデックスされているページ数となりますので
44600とかいまだとYahooがでてきます。

無料ダウンロードページ
posted by kiyo at 21:07| Comment(0) | TrackBack(1) | VB2008で作成したツール | このブログの読者になる | 更新情報をチェックする

Yahooインデックス確認ツール無料ダウンロード

Yahoo!デベロッパーネットワークにリクエストを出して、Yahooにサイトがインデックスされているかどうかのツールを作りましたので、提供します。

これはYahoo!検索Webサービスというサービスで、リクエストを送信して検索結果を表示することができるサービスを利用しています。

このツールを使うためには
まず、setup.zipというファイルをダウンロードしてきて解凍します。

Setup.zipの中身

その中のsetup.exeをクリックするとダウンロードが始まります。

このセットアッププログラムは、パソコンの中に.NET Framework 3.5が無ければFramework 3.5をインストールしにいきます。

インストール後に、再起動をして
それから本体のインデックス確認ツールをインストールします

もしすでに.NET Framework 3.5がインストールされているようでしたら、すぐにインストールは終了します。


素人が作ったものなので、エラーなどは出るかもしれませんが勘弁してください。

もちろんインストールしたことで何が起こっても私には全く関知しませんので、自己責任でどうぞ。

YahooIndex確認ツールダウンロード
posted by kiyo at 20:25| Comment(1) | TrackBack(0) | VB2008で作成したツール | このブログの読者になる | 更新情報をチェックする

2008年06月03日

xmlをxDocument.Loadで読み込む

XMLをVisual Basic 2008 Express(VB2008)で読み込んで見ましょう

VB6からVB2008を使おうと思ったのはこのxmlを簡単に操作できるということで使ったのです。

簡単に言えばこのように
XDocument.Load(URI)
とよみこみます

msdnには以下のようなサンプルがあります。
Dim books = _
XDocument.Load(My.Application.Info.DirectoryPath & _
"\..\..\Data\books.xml")

パソコン内のファイルのPathでもいいですし、xmlのURLを指定してもいいという大変便利なものになっています。

先頭に
Imports System.Xml.Linq
Imports System.Xml

といれて

Dim uri As String
Dim returnValue As XDocument

returnValue = XDocument.Load(uri)

たったこれだけでuriに指定したxmlファイルをreturnValue として読み込むことができます。

あとは、このreturnValue を解析してみればいいだけですね

次はYahooのウェッブサービスを利用して、そこからxmlを取得してみたいと思います
posted by kiyo at 19:16| Comment(0) | TrackBack(0) | xml | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。