「ビッグウィナー」をガールフレンドと一緒に見た後、劉燕が出てきて、カップの問題についてガールフレンドと話しました。
ガールフレンドは、Aカップが最も人気があると言いました!優秀な人はみんなA!
私はそれを彼女と長い間友好的に話し合った!
彼女はごちゃごちゃしていると思います!絶対に洗練されています!
中国の女性のカップデータをPythonでクロールする必要があります。
声明:私は私のガールフレンドがごちゃごちゃしていることを証明することです!追い出されることはありませんでした!!
コードは次のとおりです(コメント内のいくつかの写真は適切です。コードを変更してダウンロードできます)。
インポートリクエスト インポート再 インポート lxmlからのインポートインポート etree定義cczh(文字列):#サイズ変換関数を定義します。さまざまなサイズがA / B / C / D / Eに変換さ れますstrに 'E'がある場合:#データにEがある場合次に: return 'E' #return E if 'D' in str: return 'D' if 'C' if str: return 'C' if str 'in' in str: return 'B ' in str: return 'in' in str:return strの「XXL」の場合は「A」、strの 「XL」 の場合は「E」を、strの 「L」 の場合は「D 」を、strの 「M」 の場合は「C」を返します。 strの 'S' の場合は'B'を 返します:'A'を返します strの「1サイズ」:ますstrの res = requests.get(url、headers = headers).text#リクエストのget関数を使用して情報を取得し、headers = headersを使用して偽装します。テキストはテキスト情報に変換されます strで 'big' の場合は'B'を返します:strで 'small' の場合は'C'を 返します:return 'A' ヘッダー= { "User-Agent": "Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36( Keck、like Gecko)Chrome / 74.0.3729.169 Safari / 537.36 " } #クライミングを突破するリクエストヘッダーを設定する all_sizes = []#空のリストall_sizesを使用してサイズデータを準備する " "" "Get product id" "" for i範囲(1,51): # URLステッチ用に1から50を順に生成#スプライスURL url = "https://list.jd.com/list.html?cat=1315,1345,1364&ev=exbrand_90320&page=" + str(i)+ "&sort = sort_rank_asc&trans = 1&JL = 6_0_0#J_main"HTML(res) #Convert to xpath type sp_ids = res_xpath.xpath( '// * [@ id = "plist"] / ul / li / div / @ data-sku')#xpathを使用して製品IDを抽出 res_xpath = etree.HTML(res)#Convert to xpath type time.sleep(5)#sp_id for sp_id in sp_ids:#sp_idsからsp_idを抽出して順にステッチ "" "" Get comment size "" " for i範囲(1,51):#1-50を順番に生成してコメントURLをステッチします url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId="+ str(sp_id)+"&スコア= 0&sortType = 5&page = "+ str(i)+"&pageSize = 10&isShadowSku = 0&rid = 0&fold = 1 " res = requests.get(url、headers = headers).text#リクエスト取得関数を使用して情報を取得し、ヘッダー=偽装するヘッダー。テキストはテキスト情報に変換されます size = re.findall( '"productSize": "(。*?)"'、res)#サイズ情報を取得するために正規表現を使用します print(sizes)#サイズのサイズのサイズ情報を印刷します:#サイズの情報 を順番に回します ## all_sizes。append(size)#all_sizesに情報を追加します time.sleep(5)#5秒の遅延を設定します "" "サイズ変換用" "" abcds = []#空のリストabcdsを使用して、all_sizesのサイズのサイズデータを準備します 。#all_sizesの情報を順番にオンにします size = cczh(size)#関数cczhを使用して、サイズ変換のサイズについて話します abcds.append(size)#変換されたデータはabcdsのリストに追加されます print(abcds) print(len(abcds))#サイズの合計数を表示 "" "Perform size statistics" "" tjs = set(abcds)#リストabcdsを使用して繰り返しなしで注文を作成します要素セットtjs、つまり重複要素の削除、tjsの[A / B / C / D / E]のみの保持など 、tjs内のtjの#Sequentially extract data from tjs count = 0 #Define a variable count = 0 to count for abcd abcdsの場合:#abcdsリストから順次データを抽出する 場合tj == abcd:#if abcd == tj then: count + = 1 #count = count + 1数値は1 プリント増加します(tj、 ":"、count)#Print カップの数を表示
データが出ました!
631550
E:3190
A:144810
なし:1590
B:331060
C:132000
D:18900
景東のデータによると、Bの売上ははるかに進んでいます!AとCはそれほど違いません!Eの数は比較的少ないです!F / G / Hの数は…さらに少ない!