Парсинг iframe с vk.com/video

GoogleMo

Client
Регистрация
13.04.2014
Сообщения
227
Благодарностей
8
Баллы
18
Столкнулся с проблемой сбора айфреймов с вк, а именно, единственный способ, что я нашел:
1) Копируем код в буфер нажатием по xPath: //div[contains(@class, 'videoplayer_context_menu')]/div[@class='_item' and contains(@data-action, 'copy_embed_code')]
2) в своём С# коде берём значение из буфера и кладём в переменную
C#:
lock(SyncObjects.InputSyncer){
    try {
        return System.Windows.Forms.Clipboard.GetText(); 
    }
    catch {
        return string.Empty; 
    }
}
Вот только у этой реализации есть большая проблема, если так делать в многопотоке, по-любому будут ошибки. Есть ли у кого-то более грамотное решение?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
713
Благодарностей
455
Баллы
63
Столкнулся с проблемой сбора айфреймов с вк, а именно, единственный способ, что я нашел:
1) Копируем код в буфер нажатием по xPath: //div[contains(@class, 'videoplayer_context_menu')]/div[@class='_item' and contains(@data-action, 'copy_embed_code')]
2) в своём С# коде берём значение из буфера и кладём в переменную
C#:
lock(SyncObjects.InputSyncer){
    try {
        return System.Windows.Forms.Clipboard.GetText();
    }
    catch {
        return string.Empty;
    }
}
Вот только у этой реализации есть большая проблема, если так делать в многопотоке, по-любому будут ошибки. Есть ли у кого-то более грамотное решение?
Если я правильно понял, то ошибка лезет потому что буфер обмена заблокирован локером другим потоком. В локер нужно еще добавить само капирование в буфер обмена.
 

GoogleMo

Client
Регистрация
13.04.2014
Сообщения
227
Благодарностей
8
Баллы
18
Если я правильно понял, то ошибка лезет потому что буфер обмена заблокирован локером другим потоком. В локер нужно еще добавить само капирование в буфер обмена.
Я скорее хотел бы реализовать это вообще без буфера, вот только не знаю, как...
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)