KustomApe

Motor Customize and Development Unit.

Python

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

はじめに

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

twitter.com
A-SK.NEETLOG改(@RedSk8x)さん | Twitter
https://twitter.com/RedSk8x
A-SK.NEETLOG改 (@RedSk8x)さんの最新ツイート ニート改 / #pythonで生きるニート 教材開発中! / #pyニート / #AirDepot 代表 / Python / VueJS / #ASK401 運営代表 / #起業 / お問い合わせ⇒ eisukeairdepotio ASK401

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

完成コード

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

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

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

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

APE

KustomApe代表 * Python, Django, JavaScript, Video, Still Photo. Carkuru開発中、カーパーツ輸入、中古車販売を自由化、Web開発×Video表現 #KustomApe 仕事依頼はDM :: @KustomApe

おすすめ記事

-Python,
-,

Copyright© KustomApe , 2019 All Rights Reserved.