Получение Url картинок из HTML-кода - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Задача у кода вытаскивать url`ы картинок с html файлов и сверять, нету ли этой картинки в тхт файле уже. Код я написал, но уж очееень долго он работает... (в url3.txt порядка 70 000 строк)
Листинг программы
  1. public void Run2()
  2. {
  3. string str;
  4. DirectoryInfo dir = new DirectoryInfo(@"C:\html");
  5. DirectoryInfo[] filesList = dir.GetDirectories();
  6. foreach (DirectoryInfo file in filesList)
  7. {
  8. DirectoryInfo dir2 = new DirectoryInfo(file.FullName);
  9. FileInfo[] filesList2 = dir2.GetFiles();
  10. foreach (FileInfo file2 in filesList2)
  11. {
  12. //MessageBox.Show(file2.FullName); break;
  13. str = string.Empty;
  14. using (System.IO.StreamReader reader = System.IO.File.OpenText(file2.FullName))
  15. {
  16. str = reader.ReadToEnd();
  17. Regex re1 = new Regex(@"(?<=<input .*?src\s*=\s*"")[^""]+(?="".*?>)");
  18. Regex re2 = new Regex(@"(?<=<img .*?src\s*=\s*"")[^""]+(?="".*?>)");
  19. //получаем набор значений для аттрибута src
  20. MatchCollection mc1 = re1.Matches(str);
  21. MatchCollection mc2 = re2.Matches(str);
  22. foreach (Match m1 in mc1)
  23. {
  24. if (!FindSubstrInStr(m1.Value))
  25. {
  26. System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\url.txt", true);
  27. sw.WriteLine(m1.Value + ";"); // запись
  28. sw.Flush(); // очистка буфера
  29. sw.Close();
  30. }
  31. }
  32. foreach (Match m2 in mc2)
  33. {
  34. if (!FindSubstrInStr(m2.Value))
  35. {
  36. System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\url.txt", true);
  37. sw.WriteLine(m2.Value + ";"); // запись
  38. sw.Flush(); // очистка буфера
  39. sw.Close();
  40. }
  41. }
  42. }
  43. }
  44. }
  45. }
  46. static public bool FindSubstrInStr(string searchquery)
  47. {
  48. bool rtrn = false;
  49. string[] lines = System.IO.File.ReadAllLines(@"C:\url3.txt");
  50. foreach (string line in lines)
  51. {
  52. if (line.IndexOf(searchquery) != -1) { rtrn = true; break; }
  53. }
  54. return rtrn;
  55. }
Спасибо

Решение задачи: «Получение Url картинок из HTML-кода»

textual
Листинг программы
  1. foreach (var file in dir.GetFiles("*.html", SearchOption.AllDirectories))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы