C# 正則表示式抓取網頁上某個標籤的內容,並替換連結地址和圖片地址
阿新 • • 發佈:2019-02-06
#region 獲取第三方網站內容
//獲取其他網站網頁內容的關鍵程式碼
WebRequest request = WebRequest.Create(第三方的網站地址);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
//reader.ReadToEnd() 表示取得網頁的原始碼
string Code = reader.ReadToEnd();
HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(Code);
#region 處理連結地址
HtmlNodeCollection nodes = document.DocumentNode.SelectNodes(@"//a");
if (nodes != null)
{
string strSrc = string.Empty;
foreach (var Item in nodes)
{
string strUrl = Item.GetAttributeValue("href", "");
if (!string.IsNullOrEmpty(strUrl) && strUrl != "#" && strUrl.Contains(".."))
{
strUrl = "原網站的連結" + strUrl.Substring(2);
}
else if (!string.IsNullOrEmpty(strUrl) && strUrl != "#" && !strUrl.Contains(".."))
{
strUrl = "原網站的連結" + strUrl;
}
Item.SetAttributeValue("href", "#");
Item.SetAttributeValue("class", "ininfo");
Item.SetAttributeValue("data-url", strUrl);
//Item.SetAttributeValue("data-original", strSrc);
}
}
#endregion
#region 處理圖片地址
nodes = document.DocumentNode.SelectNodes(@"//img");
if (nodes != null)
{
string strSrc = string.Empty;
foreach (var Item in nodes)
{
string strImg = Item.GetAttributeValue("src", "");
if (!strImg.Contains("http"))
{
strImg = "原網站的連結" + strImg;
Item.SetAttributeValue("src", strImg);
}
Item.SetAttributeValue("style", "width:100%");
//Item.SetAttributeValue("data-original", strSrc);
}
}
#endregion
var temp = document.DocumentNode.SelectSingleNode("//div[@class='detail']");
ViewData["contenttext"] = temp.InnerHtml;
#endregion
//獲取其他網站網頁內容的關鍵程式碼
WebRequest request = WebRequest.Create(第三方的網站地址);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
//reader.ReadToEnd() 表示取得網頁的原始碼
string Code = reader.ReadToEnd();
HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(Code);
#region 處理連結地址
HtmlNodeCollection nodes = document.DocumentNode.SelectNodes(@"//a");
if (nodes != null)
{
string strSrc = string.Empty;
foreach (var Item in nodes)
{
string strUrl = Item.GetAttributeValue("href", "");
if (!string.IsNullOrEmpty(strUrl) && strUrl != "#" && strUrl.Contains(".."))
{
strUrl = "原網站的連結" + strUrl.Substring(2);
}
else if (!string.IsNullOrEmpty(strUrl) && strUrl != "#" && !strUrl.Contains(".."))
{
strUrl = "原網站的連結" + strUrl;
}
Item.SetAttributeValue("href", "#");
Item.SetAttributeValue("class", "ininfo");
Item.SetAttributeValue("data-url", strUrl);
//Item.SetAttributeValue("data-original", strSrc);
}
}
#endregion
#region 處理圖片地址
nodes = document.DocumentNode.SelectNodes(@"//img");
if (nodes != null)
{
string strSrc = string.Empty;
foreach (var Item in nodes)
{
string strImg = Item.GetAttributeValue("src", "");
if (!strImg.Contains("http"))
{
strImg = "原網站的連結" + strImg;
Item.SetAttributeValue("src", strImg);
}
Item.SetAttributeValue("style", "width:100%");
//Item.SetAttributeValue("data-original", strSrc);
}
}
#endregion
var temp = document.DocumentNode.SelectSingleNode("//div[@class='detail']");
ViewData["contenttext"] = temp.InnerHtml;
#endregion