-改LOG-

車×IT×データで世界改造

Python

【Python】車のパーツのデータをクローリングした話

投稿日:

はじめに

車が大好きなローレルおじさんです。

今日は、車のパーツをクローリングするためにコードを書いた話について書きたいと思います。
車のパーツって日々進化するし、日々追加されるので、どうやってアップデートかけていこうかを考えながら、次のシリーズにつなげていけたらいいなと考えています。

完成コード

これが完成コードになります。

今回はモタガレさんのサイトよりパーツ一覧を引っ張ってきました。
このスクリプトを走らせる前に、

dir_exp

このように、Chromedriverをダウンロードした後、Chromedriverを同じ階層に設置してあげるとわかりやすいのと、きちんと作動します。

http://chromedriver.chromium.org/downloads

ちなみに、バージョンは

ChromeDriver 73.0.3683.20
2019年3月4日現在、こちらを僕はダウンロードしました。

では、早速スクリプトを走らせましょう。

Spider

このような感じでどんどん取得してくれると思います。


options = webdriver.ChromeOptions()
options.add_argument(‘–headless’)
options.add_argument(‘–disable-gpu’)
options.add_argument(‘–lang=ja’)
browser = webdriver.Chrome(chrome_options=options,
 executable_path=‘./chromedriver’)

この部分でChromedriverの設定をしてあげています。
オプションで、日本語設定やクロームを立ち上げずにクローリングかけるheadelessモードなどを設定しています。

あとは、Chromedriverのディレクトリを指定しています。


PAGER_NEXT = “li.select-page.arrow a[rel=’next’]”
POSTS = “.product-item-list__item”
PRODUCT_NAME = “.product-item-list__item-name”
IMAGE = “.product-item-list__item-image img”
PRICE = “.product-item-list__item-price”
CATEGORY = “.product-item-list__item-category”
CAR = “.product-item-list__item-car-name”

ここでは、今回モタガレさんのサイトからクローリングしたので、サイトをDeveloperToolで要素確認して、それぞれの要素を変数に格納しました。

苦戦したのが、PAGER_NEXTのアンカータグのrelのnextがついたやつ!を取りたい!で結構調べて苦戦してました。。。

あとは、whileとfor文で各ページのすべてのアイテムを取得後次のページへ遷移して、取得の繰り返しです。

最後に


print(“Finished Scraping. Writing CSV…….”)
df.to_csv(“parts.csv”)
print(“DONE”)

CSVファイルに書き出してDone!!

このソースコード他にも転用効くと思うので、いろいろと試してみてください。
ただ、サーバーに負担をかけすぎたり、Robot.txtに記載されている内容はよく読みましょう

あくまで、自己責任でお願いします

Ads-bottom

Amazon

  • この記事を書いた人
  • 最新記事

A-SK

車大好きCEO&Founder of AirDepot。#IT / #Python でグロースハッキング&エンジニアリング / #車大好き / #四輪車開発 / #シットくん / #ローレルおじさん / #c35ローレル / #改LOG /#airdepot 依頼⇒ eisuke[@]airdepot[dot]io

おすすめ記事

-Python,
-,

Copyright© -改LOG- , 2019 All Rights Reserved.