Python

Python Webスクレイピング001(Amazonの人気商品取得)

Seleniumを使用したwebスクレイピング

今回はAmazonの人気商品(ゲーム)の上位20を取得するプログラムのサンプルを作成しました。

最終的にはCSVに出力されるよう作成しています。

これを今後、mac/windowsで動くネイティブアプリケーションにしていきたい。。。

あとは、ブラウザをバックグラウンドで起動させる必要もありそうかな。
コーディングが雑なのは多めに見ていただきたく。。

from selenium import webdriver
import chromedriver_binary
import csv
import copy
import sys


driver = webdriver.Chrome()
#amazon ゲームの欲しいものリストページ
driver.get('https://www.amazon.co.jp/gp/most-wished-for/videogames?pd_rd_wg=4VmNR&pd_rd_r=70cf5063-537e-417a-9b9d-bcb9d87237e9&pd_rd_w=bxCe3&ref_=pd_gw_ri&pf_rd_r=1AHHZ5ZC2YKE712WR5RW&pf_rd_p=cc17c435-35f6-5801-aeae-5c1f4efad58f')
contents = driver.find_elements_by_class_name('p13n-sc-truncated') #商品名称の取得

lists = [] #2次元配列用
try:
   for i in range(0,20):
   list = []
   list.append(i)
   list.append(contents[i].text)
   lists.append(copy.copy(list)) #値渡しするためコピー作成
   list.clear
except:
   driver.quit()
   driver.quit()
   print(lists)
try:
   f = open('output.csv', 'w')
   writer = csv.writer(f, lineterminator='\n')
   writer.writerows(lists)
   f.close()
except:
   f.close()
sys.exit()