none
WebRequest 取得網頁標籤問題 RRS feed

  • 問題

  • 請問 WebRequest 怎樣取得網頁原始碼後, 取得網頁標籤 <A> 超連結

    再利用 去抓 所有 <A> 超連結

            Dim URL As String = "http://www.abc.com"
    
    
            Dim myRequest As System.Net.HttpWebRequest = System.Net.WebRequest.Create(URL)
            Dim myResponse As System.Net.WebResponse = myRequest.GetResponse
    
    
            Dim myStream As IO.Stream = myResponse.GetResponseStream
            Dim streamReader As New IO.StreamReader(myStream, System.Text.Encoding.Default)
    
    
            Dim WebCode = streamReader.ReadToEnd


    更正:

    抓到所有 <A> 超連結, 再去取得網頁原始碼分析條件

    是否等於 InnerText = "貨品1" 

    <a href="main.asp?pid=1">貨品1</a>


    • 已編輯 Mr.Frankie 2012年2月17日 下午 03:05
    2012年2月17日 下午 12:17

解答

  • 參考論壇既有討論搜尋

    [HTML Parser]

    [規則運算式 +HTML]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 ChenBruceModerator 2012年2月21日 上午 02:01
    • 已取消提議為解答 Mr.Frankie 2012年2月22日 上午 07:52
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 12:32
    版主
    • 已編輯 tihsMVP 2012年2月17日 下午 02:14
    • 已提議為解答 ChenBruceModerator 2012年2月21日 上午 02:01
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 02:13
  • WebBrowser Control / InternetExplorer Object 才有

    object.innerText

    WebRequest / WebResponse 內沒這玩意。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 03:51
  • 修改你使用的 編碼及 regular expression

    然後使用 ListBox1.Items.Add(i.Value) 就可以了


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2012年2月20日 上午 03:24
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月19日 下午 05:50
  • pattern:<a.+?(?<href>.+).*>.*?</a>

    得到MatchCollection物件後用:i.Groups("href")取出網址

    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月20日 下午 12:51

所有回覆

  • 參考論壇既有討論搜尋

    [HTML Parser]

    [規則運算式 +HTML]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 ChenBruceModerator 2012年2月21日 上午 02:01
    • 已取消提議為解答 Mr.Frankie 2012年2月22日 上午 07:52
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 12:32
    版主
    • 已編輯 tihsMVP 2012年2月17日 下午 02:14
    • 已提議為解答 ChenBruceModerator 2012年2月21日 上午 02:01
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 02:13
  • 抱歉...忘了

    更正是抓到所有 <A> 超連結, 再去取得網頁原始碼分析條件

    是否等於 InnerText = "貨品1" 

    <a href="main.asp?pid=1">貨品1</a>



    • 已編輯 Mr.Frankie 2012年2月17日 下午 03:05
    2012年2月17日 下午 03:04
  • ? 不是給你link參考了?

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月17日 下午 03:14
    版主
  • WebBrowser Control / InternetExplorer Object 才有

    object.innerText

    WebRequest / WebResponse 內沒這玩意。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月17日 下午 03:51
  • 已經參考了有關文章, 可是要怎樣去抓 href 網址??

            Dim URL As String = "http://hk.yahoo.com/"
    
            Dim myRequest As System.Net.HttpWebRequest = System.Net.WebRequest.Create(URL)
            Dim myResponse As System.Net.WebResponse = myRequest.GetResponse
    
            Dim myStream As IO.Stream = myResponse.GetResponseStream
            Dim streamReader As New IO.StreamReader(myStream, System.Text.Encoding.Default)
    
            Dim matches As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(streamReader.ReadToEnd, "<a.+?href=[\""'](?<href>.+?)[\""'].+?></a>")
    
            For Each i As System.Text.RegularExpressions.Match In matches
                If i.Value.Contains("音樂") Then
    
                    Me.ListBox1.Items.Add(i.ToString)
                    'i.ToString 取得整段 <a href="r/mu">音樂</a>
                End If
            Next

    • 已編輯 Mr.Frankie 2012年2月19日 上午 03:26
    2012年2月19日 上午 03:25
  • 2012年2月19日 上午 09:05
  • 修改你使用的 編碼及 regular expression

    然後使用 ListBox1.Items.Add(i.Value) 就可以了


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2012年2月20日 上午 03:24
    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月19日 下午 05:50
  • pattern:<a.+?(?<href>.+).*>.*?</a>

    得到MatchCollection物件後用:i.Groups("href")取出網址

    • 已標示為解答 Mr.Frankie 2012年2月22日 上午 07:52
    2012年2月20日 下午 12:51