Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7369 / 76732 ←次へ | 前へ→

【74951】Re:あるサイトから結果データを自動取得
発言  γ  - 13/10/30(水) 20:57 -

引用なし
パスワード
   IEを経由してもよいのですが、XMLHTTPを使うこともできます。
get メソッドなので、urlの後ろに解釈対象の英語をつけてRequestを出し、
返ってきたHTMLソースから<h3>タグを正規表現で取り出せばよいでしょう。

--- 一例です。参照設定は不要です。

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub test2()
  Dim HTTPRequest As Object '半角に修正してください。
  Dim re As Object
  Dim m As Object
  Dim s As String
  Dim word As String
  Dim k As Long
  
  Const url = "★//www.englishnepalidictionary.com/?q=" '5文字省略
  
  Set HTTPRequest = CreateObject("Msxml2.XMLHTTP")'要修正
  
  Set re = CreateObject("VBScript.RegExp")
  re.Pattern = "<h3>(.*?)</h3>"
  
  For k = 2 To Range("A1").End(xlDown).Row
    word = Cells(k, 1).Value
    With HTTPRequest
      .Open "GET", url & word, False
      .setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
      .Send
      s = .responseText
    End With
    
    Set m = re.Execute(s)
    If m.Count > 0 Then
      Cells(k, 2).Value = Replace(m(0).Submatches(0), word & " - ", "")
    End If
    Sleep 1000 ' アクセス間隔を1秒あける(岡崎図書館事件を踏まえ)
  Next
End Sub

316 hits

【74944】あるサイトから結果データを自動取得 さん 13/10/29(火) 17:46 質問
【74945】Re:あるサイトから結果データを自動取得 γ 13/10/29(火) 20:41 発言
【74948】Re:あるサイトから結果データを自動取得 さん 13/10/30(水) 11:30 質問
【74949】Re:あるサイトから結果データを自動取得 13/10/30(水) 19:16 発言
【74953】Re:あるサイトから結果データを自動取得 さん 13/10/30(水) 23:11 お礼
【74950】Re:あるサイトから結果データを自動取得 γ 13/10/30(水) 20:27 発言
【74951】Re:あるサイトから結果データを自動取得 γ 13/10/30(水) 20:57 発言
【74952】Re:あるサイトから結果データを自動取得 さん 13/10/30(水) 23:09 お礼

7369 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free