You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用VB.NET获取Pokehub Coordinates网站的宝可梦信息

VB.net获取pokehubcoordinates.com宝可梦信息解决方案

你所用的两种方法仅能获取站点的静态HTML源码,该站点的宝可梦数据由JavaScript动态加载,静态HTML中不存在目标内容,因此无法直接拿到需要的信息,可通过以下两种方案解决:


方案1:调用站点数据接口(优先推荐)

通过浏览器开发者工具的「网络」面板筛选Fetch/XHR请求,可找到站点加载宝可梦数据的后端接口,直接请求接口即可拿到结构化的JSON数据,解析后即可获得目标信息,该方式执行效率最高。

示例代码(使用官方推荐的HttpClient替代已废弃的WebClient):

' 提前导入System.Net.Http命名空间
Private Shared ReadOnly httpClient As New HttpClient()

Async Function GetPokemonDataAsync() As Task(Of String)
    ' 替换为抓包获取的实际数据接口地址
    Dim apiUrl As String = "https://pokehubcoordinates.com/实际数据接口路径"
    ' 添加请求头模拟浏览器访问,避免被反爬拦截
    httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
    httpClient.DefaultRequestHeaders.Accept.ParseAdd("application/json")
    
    Dim response As HttpResponseMessage = Await httpClient.GetAsync(apiUrl)
    response.EnsureSuccessStatusCode()
    Dim jsonResult As String = Await response.Content.ReadAsStringAsync()
    ' 后续可通过Newtonsoft.Json或System.Text.Json解析JSON获取宝可梦字段
    Return jsonResult
End Function

方案2:无头浏览器渲染页面

如果接口有加密等反爬措施无法直接调用,可使用无头浏览器模拟完整浏览器加载流程,等待JS渲染完成后再提取数据,常用工具为Selenium、Puppeteer Sharp。

Selenium示例代码:

' 提前通过Nuget安装Selenium.WebDriver和Selenium.WebDriver.ChromeDriver
Imports OpenQA.Selenium
Imports OpenQA.Selenium.Chrome

Sub GetPokemonDataBySelenium()
    Dim options As New ChromeOptions()
    ' 启用无头模式,不弹出浏览器窗口
    options.AddArgument("--headless=new")
    options.AddArgument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
    
    Using driver As IWebDriver = New ChromeDriver(options)
        driver.Navigate.GoToUrl("https://pokehubcoordinates.com/pvp")
        ' 等待页面渲染完成,也可替换为显式等待匹配目标元素出现
        Threading.Thread.Sleep(3000)
        ' 替换为实际宝可梦列表元素的CSS选择器提取内容
        Dim pokemonList = driver.FindElements(By.CssSelector("目标元素CSS选择器"))
        For Each pokemon In pokemonList
            ' 逐条处理宝可梦信息
            Console.WriteLine(pokemon.Text)
        Next
        ' 也可直接获取渲染完成的完整HTML
        Dim fullRenderedHtml As String = driver.PageSource
        File.WriteAllText("e:\test_rendered.html", fullRenderedHtml)
    End Using
End Sub

内容的提问来源于stack exchange,提问作者Emin Yalçın

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:30:07