如何从源代码中抓取变量数据

本文关键字:抓取 变量 数据 源代码 | 更新日期: 2023-09-27 18:17:03

我正试图从一个网站的源代码中抓取一个链接,每个源代码都不同。

形式的例子:

 <div align="center">
    <a href="http://www10.site.com/d/the rest of the link">
        <span class="button_upload green">

下次我得到源代码时,http://www10更改为任何http://www +数字,如http://www65

我怎样才能获得与新更改的号码相同的链接?

编辑:以下是我如何使用RE MatchCollection m1 = Regex.Matches(textBox6.Text, "(href='"http://www10)(?<td_inner>.*?)('">)", RegexOptions.Singleline);

如何从源代码中抓取变量数据

您在注释中提到使用正则表达式解析HTML文档。这是一种最困难的方法(通常也不推荐)。尝试使用像http://html-agility-pack.net

这样的HTML解析器

对于HTML Agility Pack:你可以通过NuGet packages安装它,这里有一个例子(发布在他们的网站上):

HtmlDocument doc = new HtmlDocument();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]")
 {
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
 }
 doc.Save("file.htm");

它还可以加载字符串内容,而不仅仅是文件。您可以使用xPath或CSS选择器在文档中导航并选择所需的内容。

在页面加载时运行这样一个JS函数:

// jQuery is required!
var updateLinkUrl = function (num) { 
    $.each($('.button_upload.green'), function (pos, el) {
          var orig = $(el).parent().prop("href");
          var newurl = orig.replace("www10", "www" + num);
          $(el).parent().prop("href", newurl);
    });
};
$(document).ready(function () {  updateLinkUrl(65); });