【发布时间】:2016-01-18 16:33:46
【问题描述】:
我正在尝试使用 Windows 窗体应用程序创建一个网络爬虫工具。是否有 API 或方法来显示所选文本的确切 xpath 位置?到目前为止,我编写的代码允许我在 webbrowser 控件中突出显示导航网站上的文本,并使用 ContextMenuStrip 将此突出显示的文本输出到富文本框中。
下面我写的代码是:
private void getSelectedTextToolStripMenuItem_Click(object sender, EventArgs e)
{
IHTMLDocument2 htmlDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLSelectionObject currentSelection = htmlDocument.selection;
if (currentSelection != null)
{
IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange;
if (range != null)
{
richTextBox1.Text = range.htmlText;
}
按钮导航到下面的网站:
private void button1_Click(object sender, EventArgs e)
{
this.webBrowser1.Navigate("https://uk.finance.yahoo.com/q?s=%5EFTSE");
webBrowser1.DocumentCompleted +=
webBrowser1_DocumentCompleted;
}
到目前为止,它完全符合我的要求。但是,我现在希望获得突出显示的任何内容的 xpath 位置,而不是仅输出文本内容。这个想法是,如果我想提取实时数据(即雅虎财经网页上的市场数据),网站上的数据会不断变化,所以我有兴趣获得 html 页面结构中的位置.关于这是否可行以及我应该遵循哪些步骤的任何想法?
【问题讨论】:
标签: c# visual-studio xpath web-scraping webbrowser-control