C#を使用して.mp4ビデオの直接URLを取得するにはどうすればよいですか?

c# html-agility-pack video web-scraping windows-phone

質問

私はmp4engineからのリンクを抽出するalgorythmのいくつかの並べ替えが必要です。

ここで、スクラップしたいページの例を示します。

この場合、所望の出力は次のようになります。 http://mp4engine.com:182/d/a2chmyndcqqgkpskitclvbgu5pgwxve2vmlrdsctpwbte2flb4i4hrz6/.hack_Roots (ダブ)エピソード001-360p.mp4

私はHtmlAgilityPackを使用してプレーヤーコードを取得しようとしHtmlAgilityPackたが、 p,a,c,k,e,dであり、C#Windows Phone 8.1プロジェクト内で実行できません。 JSを実行するためにJurassicパッケージを使用することを考えましたが、WinPhone8.1では動作しません

ここではHAPを使用して取得するスクリプトです:

<script type='text/javascript'>eval(function(p,a,c,k,e,d){while(c--    )if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p} ('15("14").13({f:"0://2.1:e/d/c/.b (a) 9 8- 7.6",12:"0://2.1/4/h.g",11:"0://2.1/i/10/z.y",x:"w",v:u,t:s,5:"0",r:"0://2.1/4/q /p",o:[{3:"n",m:"0://2.1/4/h.g"},{3:"l",k:{f:\'0://2.1:e/d/c/.b (a) 9 8- 7.6\',\'5\':\'0\'}},{3:"j"}],});',36,42,'http|com|mp4engine|type|player|provider|mp4|360p|001|Episode|Dub|hack_Roots|a2chmyndcqqgkpskitclvbgu5pgwxve2vmlrdsctpwbte2flb4i4hrz6||182|file|swf|jw6||download|config|html5|src|flash|modes|six|skins|skin|420|height|722|width|1484|duration|jpg|hahgl235zwv2|00000|image|flashplayer|setup|flvplayer|jwplayer'.split('|')))

私も組み込みのWebViewコントロールを使用しようとしました:

WebView wv = new WebView();
//... navigation to string and all that
var res = await wv.InvokeScriptAsync("eval", null);

残念ながら、この関数は空の文字列( res = "" )を返します。

私はデコードできるbase64文字列も検索しましたが、ページに文字列がないようです。

動画のURLを取得するにはどうすればよいですか?

人気のある回答

HtmlAgilityPackは静的なHTMLコードを取るだけで、データを取得するためには動的コンテンツ(javascript)を実行する必要があります。

あなたには3つの方法があります:

1 - あなたのC#でjavascriptのための美化器のコードを実装します(ここでは例を見ることができます: http : //jsbeautifier.org/ )。この場合、あなただけのために、ビデオURLが抽出されているのでそれを抽出できますが、これは一般的ではありません。

2 - .net Webブラウザを使用してページに接続し、データをスクラップするためのJavaScriptコードを実行します。この場合、アプリケーションはWindowsフォームアプリケーションでなければなりません。

3 - ヘッドレスブラウザを使用してページに接続し、JavaScriptコードを実行してデータをスクラップします。あなたは有名なphatomjsを使うことができます。ここでの例: PhantomJS Webdriver ExecutePhantomJSを使用して画像をフィルタリングするC#の例



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ