PornHub無料のビデオログイン後に直接ダウンロードすることができ、ソースコード内の直接リンク、我々はダウンロードのみへの要求にクッキーを持参する必要があります。しかし、料金は唯一無料のユーザーがローカルにダウンロードする場合は、オンラインビデオの視聴をサポートしている、あなたは、対応するファイルのリンクにオンラインプレイを見つける必要があります。
クロームデバッグモードを開き、ビデオを再生し、https://cv.phncdn.com/videos/xxxxxxxは<ビデオに位置デバッグツールを、このウィンドウの要素にリンクを探すために取られたリンクから映像を表示するネットワーク]タブ>タグは、しかし、ソースコードは、このラベル、明らかに非同期レンダリングのために右ではありません。
「CV」を検索キーワードのみで見つかったID =「変数を定義し、十数行の前に、このスクリプトは、スクリプトの大部分は、プレイヤーにあった」タグ、あなたはこのビデオはいくつかを説明し読むことができますメタ情報は、次に何の枝が長くないと定義の大部分は、この人工的な障壁の読みやすさは、一般的に乾燥があることを意味します。キーワード検索(例えば720pの、1080本の解像度など)、我々はテキストを配置すると、このあることがわかりました。
VAR quality_1080p = / * + ravbmd0slra75ravbmd0slra75 + * / rahttpscra100rahttpscra100 + / * + ra8a47lxizkra10ra8a47lxizkra10 + * / ravphncdnra87ravphncdnra87 + / * + ravbmd0slra75ravbmd0slra75 + * / racomvideora70racomvideora70 + / * + ra6zdjixveara14ra6zdjixveara14 + * / ras202001ra48ras202001ra48 + / * + rarwyc9jryra34rarwyc9jryra34 + * / ra29280164ra17ra29280164ra17 + / * + raxxaaxrr2bra23raxxaaxrr2bra23 + 中東...ちょっと + Rajizy4aof8ra97rajizy4aof8ra97 + / * + Rahiuxvgjbdra31rahiuxvgjbdra31 + * / Rait5pb7qvra34rait5pb7qvra34 + / * + Ravphncdnra87ravphncdnra87 + * / Rafrdzfusijra70rafrdzfusijra70 + / * + Ravkr6lm0dlra94ravkr6lm0dlra94 + * / Rapd8628sljra94rapd8628sljra94 + / * + Ra8a47lxizkra10ra8a47lxizkra10 + * / Raqbf2mfoy5ra88raqbf2mfoy5ra88 + / * + Rahttpscra100rahttpscra100 + * / Rac5daiara85rac5daiara85。
文字列の連結は、単にこれまでのJSがダウンロードするスクリプトを書くことができますいくつかの基本的なスキルがあり、国民を混乱にメモをたくさん書き、そして定義しなかった変数は、ちょうど前の段落テキストの内容に目を通すスプライシングを必要とします。
あなたが書き込み爬虫類にはPythonを使用している場合しかし、どのように行うには?execjsとこのライブラリは、考慮すべきオプションですが、そのようなライブラリが遅くなる実行速度と設定ピットマルチ環境の問題、および実際の使用では、著者を持っている傾向があるpy2js、また、このようなシンボルにつながる特定のjs文で発見されましたライブラリの解析が例外をスローします。実際には、いくつかの基本的な文法上のPythonとJavaScriptは、私たちはPythonの文の実行にjsの文を置くことができ、非常によく似ています。
デフgetpornaddr(コンテンツ:bs4.BeautifulSoup): スクリプト = content.select_one(' #player ' ).script 場合 ではないスクリプト:リターン ' エラー' 他: script_text = script.text.strip() #のスクリプト有用な範囲を指定した変数名の特性 を開始= script_text.rindex(「\ TVAR RA 」) 終了 = script_text.index(" VaRのquality_ " ) valid_zone = script_text [開始:終了] .replace(「VAR 」、「」).strip() #式の終わりにPythonのサポートセミコロンので、処理を行わず、単語のみのVARを除去することができることは、今Pythonの変数の定義 Execの(valid_zone) #ステートメントとしてExecメソッド缶の文字列が、実行の両方でjsの中やPythonされ、幹部は非常に危険な行為の一種である、注意して使用する必要があります generate_addr = re.search(R " _ [\ D \品質でVAR W] + =(+。?) 'script_text).group(1 ) #ダウンロードリンク演算式に正規表現と generate_addr re.sub =(R&LT ' /\*.+?\*/ '、「」、generate_addr) #コメント文と混同し 、リターンのeval(generate_addr)#エバールだけで式を評価することができます
これまでのところ、それは本当のビデオダウンロードアドレスとなっています。