Парсинг картинок C#

122
04 октября 2021, 19:20

Есть некий парсер ссылок и информации к ним. Хочу чтобы и картинки к ним тоже парсились и записывались либо ссылки на них сразу в таблицу со всей информацией, либо сразу в папку сохранялись. Ниже код, работает только часть без переменной picture и всего что связано с парсингом картинки.. увы выдается ошибка : Выполнение действия CSharp OwnCode. [Строка: 7; Cтолбец: 4] Ссылка на объект не указывает на экземпляр объекта. Вопрос что делаю не так и как можно это подправить.

HtmlElementCollection zagolovki = null;
HtmlElementCollection cennik = null;
HtmlElementCollection href = null;
HtmlElementCollection picture = null;
int a = 2;
var package = new ExcelPackage(new FileInfo(@"C:\Documents\parser1.xlsx"));
ExcelWorksheet tabletest = package.Workbook.Worksheets[1]; 
for(int i=1; i<5; i++) 
{
    int z = 0; 
    string ssylk = tabletest.GetValue(i,1).ToString(); 
    instance.ActiveTab.Navigate(ssylk); 
    instance.ActiveTab.WaitDownloading(); 
    zagolovki = instance.ActiveTab.FindElementsByXPath("//a[@class='head_name_item']"); 
    cennik = instance.ActiveTab.FindElementsByXPath("//span[@class='pi_price_cur']"); 
   picture = instance.ActiveTab.FindElementsByXPath("//img");
     for(int k=0; k<cennik.Count; k++) 
        {
        string zag = zagolovki.GetByNumber(z).InnerText; 
        tabletest.SetValue(a,2,zag); 
        string cen = cennik.GetByNumber(z).InnerText; 
        tabletest.SetValue(a,3,cen); 
        string ssyl = zagolovki.GetByNumber(z).GetAttribute("href"); 
        tabletest.SetValue(a,4,ssyl); 
        z++; 
        a++; 
    }
for(int k = 2; k<=tabletest.Dimension.Rows; k++) 
    {
    string strImageURL = tabletest.GetValue(k,2).ToString(); 
    string papka_save = @"C:\Documents\"; 
    string strDownloadResult = ZennoPoster.HttpGet(strImageURL,"","UTF-8",ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File,5000);
 File.Move(strDownloadResult, papka_save + new FileInfo(strDownloadResult).Name); 
 }
}
package.Save(); 

PS о существовании и возможностях использования Xpath узнала только сегодня. Знаю что реализация корявая, но хотелось бы разобраться с этим

READ ALSO
Как сделать Distinct для List&lt;T&gt;?

Как сделать Distinct для List<T>?

Есть json, который я десериализовал в классЗагружаю в cписок List

135
Нужна естественная сортировка

Нужна естественная сортировка

А нужно чтобы все по порядку было

271
Можно ли получить урлы всех результатов умного фильтра в битриксе?

Можно ли получить урлы всех результатов умного фильтра в битриксе?

Пришла задача вывести в sitemapxml результаты фильтра по 2м пересечениям свойств в каталоге продукции, но я начинающий и даже пока не понимаю,...

115
Как, при определенных условиях, не вставлять значение при объявлении массива php?

Как, при определенных условиях, не вставлять значение при объявлении массива php?

Можно ли просто пропускать вставку значения в массив, когда $bool == false? Интересует пропуск вставки именно в таком виде, а не в таком:

126