بیتا حکمت
سه شنبه 05 خرداد 1394, 23:49 عصر
ســلام . وقت بخیر . کدهای زیادی رو تست کردم که عکس رو از سورس Html استخراج کنه اما اکثرا" مشکل داشتند . این کد تقریبا" درست عمل می کنه
public static List<Uri> FetchLinksFromSource(string htmlSource)
{
List<Uri> links = new List<Uri>();
string regexImgSrc = @"<img[^>]*?src\s*=\s*[""']?([^'"" >]+?)[ '""][^>]*?>";
MatchCollection matchesImgSrc = Regex.Matches(htmlSource, regexImgSrc, RegexOptions.IgnoreCase | RegexOptions.Singleline);
foreach (Match m in matchesImgSrc)
{
string href = m.Groups[1].Value;
links.Add(new Uri(href));
using (StreamWriter sw = File.AppendText(@"E:\bita\test.txt"))
{
sw.WriteLine(href);
}
}
return links;
}
تنها مشکلی که داره اینکه لینک هایی مث این هم برگشت داده میشن :
files/fa/news_albums/397806/2522/resized/resized_463084_862.jpg
اما اون چیزی که من دنبالش هستم ، یه همچین لینک هایی هستند : (البته سایت عصر ایران مثال هست و من برای عکس اکثر سایت ها میخوام کار کنه ، بهتر بگم از اکثر سورس های Html آدرس Url رو در بیاره )
ttp://cdn.asriran.com/files/fa/news/1394/3/5/463150_778.jpg
http://cdn.asriran.com/files/fa/news/1394/3/5/463153_139.jpg
http://cdn.asriran.com/files/fa/news/1394/3/5/463190_269.jpg
public static List<Uri> FetchLinksFromSource(string htmlSource)
{
List<Uri> links = new List<Uri>();
string regexImgSrc = @"<img[^>]*?src\s*=\s*[""']?([^'"" >]+?)[ '""][^>]*?>";
MatchCollection matchesImgSrc = Regex.Matches(htmlSource, regexImgSrc, RegexOptions.IgnoreCase | RegexOptions.Singleline);
foreach (Match m in matchesImgSrc)
{
string href = m.Groups[1].Value;
links.Add(new Uri(href));
using (StreamWriter sw = File.AppendText(@"E:\bita\test.txt"))
{
sw.WriteLine(href);
}
}
return links;
}
تنها مشکلی که داره اینکه لینک هایی مث این هم برگشت داده میشن :
files/fa/news_albums/397806/2522/resized/resized_463084_862.jpg
اما اون چیزی که من دنبالش هستم ، یه همچین لینک هایی هستند : (البته سایت عصر ایران مثال هست و من برای عکس اکثر سایت ها میخوام کار کنه ، بهتر بگم از اکثر سورس های Html آدرس Url رو در بیاره )
ttp://cdn.asriran.com/files/fa/news/1394/3/5/463150_778.jpg
http://cdn.asriran.com/files/fa/news/1394/3/5/463153_139.jpg
http://cdn.asriran.com/files/fa/news/1394/3/5/463190_269.jpg