day01には、基本的な使用を要求します

インポート要求#

「」「
クロールXiaohuaネット動画:
    リクエストURLの
        HTT://www.xiaohuar.com/v/ 

    。2つのリクエストメソッド
        GET 

    3リクエストヘッダ。
        User--エージェント:ユーザーエージェント
」「」
インポート時
のインポートリクエスト
#クローラの三部作の
第1位要求を送信
get_page(URL)DEF:
    応答= requests.get(URL)
    の戻り応答
#2分析データ
のインポートを再
DEFのparse_index(HTML): マッチすべてのfindAll 
    #re.findall( '通常のマッチングルール''一致するテキスト''マッチングモード')
    #1 re.S:すべてのテキストのマッチングを検索
    detail_urls = re.findall(' <divのクラス = "アイテム"> <クラス= "imglink"のhref = "(。*?)" " 、HTML、再。S) 
 、HTML、再。S) 
    detail_urlsでdetail_urlのための#:
    #プリント(detail_url) 
    リターンはdetail_urls 
#の分析詳細ページ
:DEFのparse_detail(HTML)
    movie_url = re.findall( '<ソースSRC = "?(*)">'、HTML、re.S) 印刷(movie_url)
    IFをmovie_url:
        リターンmovie_url [0] 

のデータ保存#
インポートUUID 
だけ文字列に応じて#1 uuid.uuid4()スタンプ生成部
#メイン+入力
DEF(コンテンツ)save_video:
    オープン(F「{uuid.uuid4(と。)} MP4 'F AS): '' WB 
        f.write(コンテンツ)
        を印刷('ビデオは...ダウンロード') テスト:
IF __name__ ==' __main__「: レンジでライン(6)のために:
        URL = f'http://www.xiaohuar.com/list-3- {行}の.html '

        #送信要求
        応答= get_page(URL) 
        #印刷は、(レスポンス)
        の##は、応答ステータスコードを返します 
        #印刷(response.status_code) 
は、応答ファイルを返します
        #印刷(response.text) 
パースホームページ
        detail_urls = parse_index(response.text)

        詳細ページのURLを通じて#ループ
        :detail_urlsでdetail_urlのための
            #印刷(detail_urlを)
            各送信要求に#ページの詳細は
            get_page =(detail_url)detail_res 
            #印刷(response.text)

            ビデオURLの#解決の詳細ページを
            movie_url = parse_detail(detail_res.text) 
解析動画のURLの存在が印刷
            IF movie_url:
                印刷(movie_url )

                #映像送信要求ビデオのURLを取得するバイナリストリーム
                = get_page movie_res(movie_url)
                ローカル保存するsave_video関数#バイナリビデオ広がり
                save_video(movie_res.content)

  

おすすめ

転載: www.cnblogs.com/zaccheo/p/11114015.html