今日の内容:
クロールエンドウ豆の鞘
クロールエンドウ豆の鞘を:
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(テキスト)