Python爬虫類は京東商品のデータを実戦的に入手し、データの可視化を実現します。


一、開発ツール
Pythonバージョン:3.6.4
関連モジュール:
Decrypt Loginモジュール;
argparseモジュール;
そしていくつかのpythonのモジュールがあります。
二、環境構築
Pythonをインストールして環境変数に追加し、pipに必要な関連モジュールをインストールすればいいです。
三、原理紹介
原理は簡単です。まず、前にオープンしたDecrypt Loginライブラリを利用してマイクロブログのアナログ登録操作を実現します。

'''      '''
@staticmethod
def login():
    lg = login.Login()
    infos_return, session = lg.jingdong()
    return session
それから何行かの簡単なコードを書いて登録後の会話を保存してください。実行するたびにプログラムをシミュレートして京東に登録してください。

if os.path.isfile('session.pkl'):
    print('[INFO]:          session.pkl,         ...')
    self.session = pickle.load(open('session.pkl', 'rb'))
    self.session.headers.update({'Referer': ''})
else:
    self.session = JDGoodsCrawler.login()
    f = open('session.pkl', 'wb')
    pickle.dump(self.session, f)
    f.close()
それから京東に行ってカバンをつかんで、同じコースで何度も試してみました。
图片
このインターフェースを要求するには提出するパラメータが必要です。
图片
各パラメータの意味を簡単に分析できます。

area:    ,         
enc:     ,        "utf-8"
keyword:       
adType:    ,         
page:      
ad_ids:    ,         
xtest:    ,         
_:    
つまり私たちが提出したいパラmsの内容は大体このようです。

params = {
            'area': '15',
            'enc': 'utf-8',
            'keyword': goods_name,
            'adType': '7',
            'page': str(page_count),
            'ad_ids': '291:19',
            'xtest': 'new_search',
            '_': str(int(time.time()*1000))
        }
提出する必要があるparamsを作成してから、登録後のsessionを利用して私達のトラッキングを要請するだけで得られるインターフェース:

response = self.session.get(search_url, params=params)
戻ってきたデータから私たちが必要なデータを解析して抽出すればいいです。

response_json = response.json()
all_items = response_json.get('291', [])
for item in all_items:
    goods_infos_dict.update({len(goods_infos_dict)+1: 
                                {
                                    'image_url': item.get('image_url', ''),
                                    'price': item.get('pc_price', ''),
                                    'shop_name': item.get('shop_link', {}).get('shop_name', ''),
                                    'num_comments': item.get('comment_num', ''),
                                    'link_url': item.get('link_url', ''),
                                    'color': item.get('color', ''),
                                    'title': item.get('ad_title', ''),
                                    'self_run': item.get('self_run', ''),
                                    'good_rate': item.get('good_rate', '')
                                }
                            })
四、データの可視化
古い決まりです。私たちが登ってきたデータを可視化しましょう。私達が登って取った無人機の商品データを例にします。まず、京東里の無人機の自営店と非自営店の比率を見てみましょう。
图片
えっと、なんと非自営店が多いです。京東は基本的に自営店だと思っていましたが、京東はほとんど使いません。とんだ勘違いです。Tです。
それから、京東さんが自分でくれた商品のランキングの上位10の店の商品の評価数を見てみましょう。
图片
レビューが一番多い店舗を比べてみます。
图片
コメント数は京東からの商品ランキングと直接連絡がないようです。Tさん、同じ店がないなんて。
また、無人機関連商品の価格分布を見てみましょう。
图片
ここで、Python爬虫類について、京東商品のデータを実際に入手して、データの可視化を実現するという文章を紹介しました。これに関連して、京東商品のデータの可視化について、もっと多くの関連記事を紹介します。