提问人:moe SOLO 提问时间:9/15/2023 最后编辑:moe SOLO 更新时间:9/16/2023 访问量:28
在 Unity 中使用 HTML Agility Pack 解析表格?
parsing a table using html agility pack in unity?
问:
我不是程序员,所以我没有经验。问题是我设法从这个网站文本中解析了一些信息,但底部有公告日期的表格和其余列无法解析。我认为原因是当页面加载时,它通过发送请求来获取信息来更新(这只是一个不知情的人的意见)。
我怎样才能用html敏捷包或任何其他工具解析它并在unity中实现它,甚至可能吗?如果没有,我该如何绕过它并解析它?
我确实尝试检查它并复制 xpath //*[@id=“issuerTable”]/tbody/tr[1]/td[3]。但显然它没有用,因为它有一个 tbody,我知道这是一件坏事。
using UnityEngine;
using UnityEngine.UI;
using HtmlAgilityPack;
using System;
using System.Collections;
public class WebPageParser : MonoBehaviour
{
public InputField symbolInput;
public Text resultText;
public Button parseButton;
[SerializeField]
private string xpath = "//*[@id='issuerTable']/tbody/tr[1]/td[3]";
private string defaultSymbol = "2222";
private void Start()
{
symbolInput.text = defaultSymbol;
parseButton.onClick.AddListener(StartParseDelay);
}
private void StartParseDelay()
{
StartCoroutine(ParseWithDelay(3.0f));
}
private IEnumerator ParseWithDelay(float delayInSeconds)
{
yield return new WaitForSeconds(delayInSeconds);
string symbol = symbolInput.text;
string url ="https://www.saudiexchange.sa/wps/portal/saudiexchange/newsandreports/issuer-financial-calendars/dividends/!ut/p/z1/hYzLCsIwEAA_aVcT01xLRdJKqW19ZS-SSNSSvpAixK-3njx6nGEYIDgD9ebV3M3UDL1pZ9YkLqtY4FJJLKRSEZabbSrTKkPcMdBzEP2CIi8TFMirgziuF5gxqIGAbKhDZ4cWNGecf01nnt5N-zC65OGuHnQOp3-r0Rv7voX4AyL4jHM!/";
try
{
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
HtmlNode node = doc.DocumentNode.SelectSingleNode(xpath);
if (node != null)
{
// Get the inner text of the selected element
string xpathResult = node.InnerText;
resultText.text = $"XPath Result: {xpathResult}";
}
else
{
resultText.text = "XPath element not found on the
page.";
}
}
catch (Exception e)
{
resultText.text = $"Error: {e.Message}";
}
}
}
答: 暂无答案
评论