我已经抓取了一个网页,但我希望该链接具有有效链接,并在单击时跳转到该链接页面。
前抓取的数据:第 1 天 - 转到我的页面 - 状态
我希望转到我的页面跳转到其 href 中的任何链接。
前任。我得到的实际 html
<td><a href="javascript:jsFormAuth('summary.php?meetingid=40456&plusday=0');">Go to my Page</a></td>
我需要它是这样的:
<td><a href="http://somewebsite.com/tab/form/summary.php?meetingid=40456&plusday=0');">Go to my Page</a></td>
这是我的抓取代码:
public string ScreenScrape()
{
string url = "http://somewebsite.com/tab/form/index.php";
string strResult = "";
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
// Close and clean up the StreamReader
sr.Close();
}
var webGet = new HtmlAgilityPack.HtmlWeb();
var doc = webGet.Load(url);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
HtmlAttribute att = link.Attributes["href"];
att.Value = "http://somewebsite.com/tab/form/"+att.Value;
}
return strResult;
}
这是我尝试更改链接并删除 javascript 字符串,但无法弄清楚如何找到正确的 index 。另外,一旦我能够改变它,如何将 strResult(above) 中的每个 href 替换为新的 href?
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
HtmlAttribute att = link.Attributes["href"];
att.Value = "http://somewebsite.com/tab/form/" + ....
}
谁能帮帮我?谢谢