セレングラブビデオ

今日は何の関係もは、セレングラブビデオと長いほど未満またはビデオの5分に等しく、最初のページのみをクロールし、ローカルに保存されていません。

なぜ要求が、そこにいくつかのサイトや定期的なXPathのは、彼らが望むものを抽出しているので、何の理由ではない、またはインタフェースのデータ暗号化のうちで、いずれかを見つけるのは難しい実際の動画のURL法律理由!

セレン数行のコードを簡単に取得します!

セレンwebdriverをインポート
インポートは要求
#設定されていないインタフェースモード
OPT = webdriver.ChromeOptions()
opt.set_headless()

クラス VideoCrawl(オブジェクト:)
    video_box = []#コレクトリアルビデオURL 
    DEF __init __(自己、URL):
        self.driverを webdriver.Chrome =(オプション= OPT)セット#なしインタフェースモード
        self.driver。GET (URL)を

    #完成ランニング、デストラクタはセレン閉じ
    DEFの__del __(自己を):
        印刷(" .....最後のクロール" 、lenの(VideoCrawl.video_box)、VideoCrawl.video_box)
        self.driver.close()
 
    DEF RUN(セルフ):
        self.get_detail_info() 获取列表页所有详情页的URL 
    デフget_detail_info(自己):
        detail_info = self.driver.find_elements_by_xpath(' // [クラス@ = "ビデオラップがstatpid"]を' 
        detail_url = []
         のためにdetail_info:
            detail_url.append(i.get_attribute(' HREF ' ))#获取视频页URL 
        video_playtime_list = self.driver.find_elements_by_xpath(' //スパン[@クラス= "ビデオ-期間"] ' 
        video_playtime_list = [I .textのためのvideo_playtime_list]
         のための RES ZIP(detail_url、video_playtime_list):
            プレイタイム = RES [ 1 ] .split(" ")[ 0 ] 
            #プリント(" プレイタイム-------- " 、プレイタイム)
             IF  INT(RES [ 1 ] .split(" ")[ 0 ])<= 5 :に5分未満の時間を再生#
                #プリント(RES [ 0 ]、" 構文解析されたURL " 、プレイタイム)
                self.parse_video(RES [ 0]、RES [ 1 ])
             それ以外
                パス
    #解析详情页
    デフparse_video(自己、URL、T):
        self.driver。取得(URL)
        であるvideoObj = self.driver.find_elements_by_xpath(' //ビデオ' 
        video_url =あるvideoObj [ 0 ] .get_attribute(' SRC ' 
        タイトル = self.driver.find_elements_by_xpath(" // H1 [@クラス="ビデオ-タイトル"] ')[ 0 ] .textの
        印刷(' video_url -------- "、video_url、タイトル、t)は
        、ビデオの保存#ローカルに
        self.save_video(video_url、タイトル、T) クラス変数の統計video_url 
        VideoCrawl.video_box.append(video_url) 要求video_url、保存、バイナリはMP4として保存され
    、DEF save_video(セルフURL、タイトル、T):
        ファイル名 = " ビデオ" +タイトル+ " - " + t.replace(" """)+ " のMP4 " 
        のビデオ。=要求GET (URL).content 
        オープン(ファイル名と、" WB "ASファイル:
            file.write(ビデオ)
        印刷(F " {ファイル名}完成書き込みファイル" 

IF __name__ == ' __main__ ' 
    クロール = VideoCrawl(' https://v.huya.com/cat/7 ' 
    crawl.run ()

結果は以下の通りであります:

video_url -------- HTTPS:// huya-w20.huya.com/1946/233921742/1300/c283cdf9b6f3c58fcd1b5933e4718980.mp4韓国ダンシングクイーン栗- SOLO三時11セクシーの解釈 
セクシーな解釈SOLO -女王ビデオ、韓国のダンス栗- 0311 .MP4ファイルの書き込みが完了し
video_url -------- HTTPS:// huya-w20.huya.com/1931/191367515/1300/e30ed7735c832e539790f58d9eccb10f.mp4夏のMoの歌「それは明らかだと良いの叫び」3時59分 
動画夏のMoの歌「それは良いの叫びがあることは明らかだ」 - 0359 .MP4ファイルの書き込みが完了し
video_url -------- HTTPS:// huya-w10.huya.com/1845/85360643/1300/96808aaab77334a8aa955caca12c88dd.mp4夏のMoを-もう少し近くに午前4時11分 
のビデオ夏のMo -もう少し近くに- 0411 .MP4ファイルの書き込みが完了した
オーバークロール。12 [ "https://huya-w6.huya.com/1927/177950705/1300/4fafecc2d17871a166ba07152ce72192.mp4 ' ' https://huya-w20.huya.com/1927/177950705/1300/4fafecc2d17871a166ba07152ce72192.mp4 ' ' HTTPS: //huya-w6.huya.com/1947/236141420/1300/d734f834c85e46e73d3356041b373cf2.mp4 ' ' https://huya-w20.huya.com/1947/236141420/1300/d734f834c85e46e73d3356041b373cf2.mp4 ' ' https://でhuya-w10.huya.com/1946/233921742/1300/c283cdf9b6f3c58fcd1b5933e4718980.mp4 ' ' https://huya-w20.huya.com/1946/233921742/1300/c283cdf9b6f3c58fcd1b5933e4718980.mp4 ' 'https://huya-w20.huya.com/1931/191367515/1300/e30ed7735c832e539790f58d9eccb10f.mp4 ' ' https://huya-w20.huya.com/1944/227123154/1300/5cb244accae05ffb5b5af2f5c57a76cd.mp4 ' ' HTTPS: //huya-w10.huya.com/1944/227123154/1300/5cb244accae05ffb5b5af2f5c57a76cd.mp4 ' ' https://huya-w10.huya.com/1947/235567528/1300/fc34f3aa9fba9ad64952f6f97ffbd45c.mp4 ' ' https://でhuya-w20.huya.com/1946/234336348/1300/b0e275820946f259f46d0f9ed9f3def0.mp4 ' ' https://huya-w10.huya.com/1845/85360643/1300/96808aaab77334a8aa955caca12c88dd.mp4 " ]

 

 あなたは正常に再生することができます。

自分の娯楽の下でみんな手を練習することができ、削除、商用利用ああのためにしないでください!

おすすめ

転載: www.cnblogs.com/pfeiliu/p/11914971.html