Day04-クロールエンドウアプリのデータ

今日の内容:

    クロールエンドウ豆の鞘







クロールエンドウ豆の鞘を:
    1.ゲームホーム
        https://www.wandoujia.com/category/6001
    ネットワーク観測内でより多くの要求のために2.
        -要求URLの
            PAGE2:
                HTTPS: ?//www.wandoujia.com/wdjweb/api/category/more
                CATID = 6001&subCatId = 0&ページ= 2&ctoken vbw9lj1sRQsRddx0hD-XqCNF =
            :PAGE3
                ?https://www.wandoujia.com/wdjweb/api/category/more
                CATID = 6001&subCatId 0 = 3&ページ=&ctoken = vbw9lj1sRQsRddx0hD-XqCNF
            page4:
                ?https://www.wandoujia.com/wdjweb/api/category/more
                CATID = 6001&subCatId = 0&ページ= 4&ctoken = vbw9lj1sRQsRddx0hD-XqCNF

    3。インターフェイスのループステッチ30

    4.各アプリのために、データ収集を返されたデータを解析

「」「
クロールエンドウアプリのデータを
-要求URLの
PAGE2:
https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page=2&ctoken=vbw9lj1sRQsRddx0hD-XqCNF 
」「」
インポート要求
 から BS4 インポートBeautifulSoup
 インポート' '' 
クローラ三部作
''' 
1は、要求を送信
DEF :get_page(URL)を
    応答 = requests.get(URL)
     の戻り応答

2分析データの
DEFのparse_data(テキスト):
    スープ = BeautifulSoup(テキスト、' lxmlの'印刷(スープ) 
    li_list = soup.find_all(名前= ' '、class_が= " カード" #の印刷(li_list)
    リチウムli_list:
        プリント(LI) 
        印刷( 'タンク' * 100) 
        APP_NAME =李。 (名前=見つける' '、class_が= " 名前" の.text)
        印刷(APP_NAME)
        app_url = li.findを(名前= ' '、class_が= " 名前").attrs.get("HREF
' #の印刷(APP_URL)

        download_num = li.find(NAME = ' スパン'class_が= " インストール-COUNT " )の.text
         #の印刷(download_num)

        APP_SIZE = li.find(NAME = ' スパン'、ATTRS = { " タイトル":re.compile(' \ D + MB ' 。)})テキスト
         #の印刷(APP_SIZE)


        App_Dataに = F '' ' 
        ゲーム名:{} APP_NAME 
        ゲームアドレス:{} app_url 
        ダウンロード数:{} download_num
        游戏大小:{app_size} 
        \ n 
        ''」
        プリント(App_Dataに)
        開いた状態(' wandoujia.txt '' '、エンコード= ' UTF-8 ' )、Fとして:
            f.write(App_Dataに)
            f.flush()もし__name__ == ' __main__ ' のための範囲(1,2 ):
        URL = F ' https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page={line}&ctoken = vbw9lj1sRQsRddx0hD-XqCNF "プリント

 
        (URL)
         1。リクエストを送信
        #をインターフェイスに対する応答データの送信要求をフェッチ 
        応答= get_page(URL)
        プリント(response.text) 
        インポートJSON 
        json.loads(response.text)
        #1 プリント(型(response.json( ))) 
        印刷( 'タンク' * 1000) 

        は、PythonのJSON辞書にデータ形式を変換し 
        たデータ= response.json() 

        印刷(データ[ '国家']) 

        のliに辞書テキスト値で取得 
        =テキストdata.get(' データ')に.get(' コンテンツ' 

        2.分析データ 
        parse_data(テキスト)

 

おすすめ

転載: www.cnblogs.com/sde12138/p/11130705.html