c# - 在 C# 中从 Web 获取 HTML 字符串,但不包含数据部分
问题描述
我正在尝试在我的 UWP 应用程序中从网页( https://finance.naver.com/sise/sise_trans_style.nhn )获取数据。
我在我的项目中编写了以下源代码。
public class MainPageViewModel : Observable
{
public string urlAddress = "https://finance.naver.com/sise/sise_trans_style.nhn";
public string data { get; set; }
public MainPageViewModel()
{
ButtonClick = new RelayCommand(Click);
}
public async void Click()
{
HttpClient httpClient = new HttpClient();
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var result = await httpClient.GetStringAsync(new Uri(urlAddress));
data = result;
OnPropertyChanged("data");
}
public RelayCommand ButtonClick { get; set; }
}
但是,问题是,我没有得到文档的数据部分。下图描述了我想要获取的文档部分。
在“数据”变量中,我得到没有数据的文档对我来说是最重要的部分。我可以得到其他 html 部分。
我试图弄清楚数据来自哪里,或者哪个来源可以帮助我获取数据。但我失败了。
数据是由 javascript 生成的吗?.. ajax ...而且,我如何从该网页获取数据?..如果我下次遇到这种问题,我该如何找出原因?
(编辑)添加了 HTML 源代码。和更具体的。
当我看到带有源代码的 HTML DOCS 时,我可以获得以下内容。
<div class="box_type_m">
<iframe name="time" src="/sise/investorDealTrendTime.nhn?bizdate=20181005&sosok=" width="100%" height="380" marginheight="0" bottommargin="0" topmargin="0" SCROLLING="no" frameborder="0" title="시간별 순매수"></iframe>
</div>
但 iframe 有另一个 html 源(包含头部和身体)。
解决方案
您想要的数据在 iframe 中。这些作为页面内的页面加载。您可以在源代码中看到这一点。
您应该检查的实际 URL 是:
推荐阅读
- go - 如何使用 geo/s2 库来确定 LatLong 位于 Go 中另一个 LatLong 的半径内?
- python - 流式 json 解析器
- c# - 通过 AWS API 查找跨账户(可信账户)关系
- java - Java Spring - 新的 ModelAndView 将“/”添加到 URL
- python - pygame在屏幕上显示变量不起作用
- batch-file - 如何修复用于检查已安装证书的脚本
- knockout.js - 向 SurveyJS 添加编辑器选项卡 - 无法绑定到模型
- android - 如何注册 Android ContentObserver 进行持续监控?
- wildfly - Wildfly:http访问日志IP匿名器
- api - 如何在 react-native 中渲染 JSON 对象