Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ITkhazeplov
1 / 1 / 0
Регистрация: 12.06.2014
Сообщений: 19
#1

Как спарсить видео с сайта?

12.10.2017, 13:52. Просмотров 1027. Ответов 6

Есть HTML страница с видео, как достать от-туда ссылку на видео из элемента <video\>?


HTML5
1
2
3
4
<pjsdiv style="position: absolute; width: 100%; height: 100%;">
<video preload="none" src="http://site.ru/video.mp4" x-webkit-airplay="allow" style="width: 100%; height: 100%; object-fit: contain; transition: filter 0.1s linear;">
</video>
</pjsdiv>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2017, 13:52
Ответы с готовыми решениями:

Спарсить с радио-сайта название песни
Парсю сайт при помощи HtmlAgilityPack, пытаюсь вытянуть с интернет-радио-сайта...

Спарсить курс валюты с сайта, обновляемый скриптом
Необходимо средствами C# спарсить курс валюты (Текущая цена) с сайта...

Как и чем спарсить данные
Парсю страницы. Как и главное чем будет спарсить страницы.Можно ли использовать...

Как правильно спарсить xml
В общем есть Xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;Dictionary&gt; ...

Сохранение видео с сайта
Добрый день, уважаемые форумчане! Подскажите, может кто сталкивался со...

6
rattrapper
foo();
863 / 567 / 221
Регистрация: 03.07.2013
Сообщений: 1,547
Записей в блоге: 2
12.10.2017, 13:57 #2
Цитата Сообщение от ITkhazeplov Посмотреть сообщение
Есть HTML страница с видео, как достать от-туда ссылку на видео из элемента <video\>?
я использовал для такого HtmlAgilityPack, но советую для веб скраппинга (это как раз то, чем вы занимаетесь) использовать python - намного удобнее.
0
ITkhazeplov
1 / 1 / 0
Регистрация: 12.06.2014
Сообщений: 19
12.10.2017, 14:00  [ТС] #3
Цитата Сообщение от rattrapper Посмотреть сообщение
я использовал для такого HtmlAgilityPack, но советую для веб скраппинга (это как раз то, чем вы занимаетесь) использовать python - намного удобнее.
Можешь привести пример как спарсить свойства элемента с помощью HtmlAlgaritmPack?
0
rattrapper
foo();
863 / 567 / 221
Регистрация: 03.07.2013
Сообщений: 1,547
Записей в блоге: 2
12.10.2017, 14:04 #4
ITkhazeplov, на официальном сайте на главной странице пример:
C#
1
2
3
4
5
6
7
var url = "http://html-agility-pack.net/";
var web = new HtmlWeb();
var doc = web.Load(url);
var value = doc.DocumentNode
    .SelectNodes("//video")
    .First()
    .Attributes["src"].Value;
0
ITkhazeplov
1 / 1 / 0
Регистрация: 12.06.2014
Сообщений: 19
13.10.2017, 17:51  [ТС] #5
Не получается. Выводит исключение "Ссылка на объект не указывает на экземпляр объекта".
Именно с видео не получается, остальное img и т.п. парсит. В чем может быть проблема?
Вот сайт url
0
ITkhazeplov
1 / 1 / 0
Регистрация: 12.06.2014
Сообщений: 19
27.10.2017, 11:06  [ТС] #6
upp
0
Woldemar89
TheGreatCornholio
1164 / 652 / 271
Регистрация: 30.07.2015
Сообщений: 2,259
Завершенные тесты: 1
27.10.2017, 14:02 #7
Лучший ответ Сообщение было отмечено ITkhazeplov как решение

Решение

За 2 недели ничего не нагуглилось, да?

Там, таки, JS отрабатывает

HTML5
1
2
3
4
<div id="player2902" style="width:600px;height:338px;"></div>
        <script type="text/javascript">
            var player = new Playerjs({id:'player2902', file:'http://109.169.87.137/video1/Wf4MHQgUB3ONpIE95eEStQ/1509144306/simpsons/29/vo-production/2902.mp4',comment:'2902 серия', poster:'http://simpsons.fox-fan.ru/seasons/2902_big.jpg'});
        </script>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using HtmlAgilityPack;
using System;
using System.Net;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var url = @"http://simpsons.fox-fan.ru/series.php?id=2902";
            var playerJsPath = @"//div[@id='player2902']/following-sibling::script[position() = 1]";
 
            var htmlDoc = new HtmlDocument();           
 
            var request = WebRequest.Create(url) as HttpWebRequest;
 
            using (var response = request.GetResponse())
            {
                using(var stream = response.GetResponseStream())
                {
                    htmlDoc.Load(stream);
                }
            }
 
            var playerJs = htmlDoc.DocumentNode.SelectSingleNode(playerJsPath).InnerText.Trim();
        }
    }
}
Обрати внимание на совпадение в первых двух переменных и далее заюзай это
1
27.10.2017, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2017, 14:02

Как правильно спарсить JSON ответ?
Всем привет! Помогите, пожалуйста, с обработкой JSON ответа. Я привёл часть...

Regex. Спарсить ссылку
Имеется допустим htmlина, в которой есть такой клочок: &lt;div...

Спарсить количество страниц на форуме
пишу парсер на данный момент он должен спарсить кол-во страниц на форуме но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru