o
    >cJ                     @   s   d dl Z d dl mZ ddlmZ d dlZd dlZdZeedZe	e
 ZW d   n1 s1w   Y  G dd de jZdS )	    N)Request   )mobileDetailsz;/home/shaun/Desktop/Ecommerce-Scraper/amazon-assembled.jsonrc                   @   s   e Zd ZdZdZeeZdZddiZ	ee Z
e
d d e
d  Zed Ze
d	 D ]Zee Zee d Zq(ed
d Zedd ee Zdd Zdd Zd
S )FlipkartSpiderflipkart"https://www.flipkart.com/search?q=r   DUPEFILTER_CLASSz!scrapy.dupefilters.BaseDupeFilter
model_name colourstorage_capN%20c                 c   s    t tj| jdV  d S )Nurlcallback)r   r   r   parse)self r   P/home/shaun/Desktop/Ecommerce-Scraper/ecommercescraper/spiders/flipkartspider.pystart_requests"   s
   zFlipkartSpider.start_requestsc              	   k   sp   t  }ttj }|d }|d }|d }|d }|d }	d |d< d |d< d |d< d |d	< d
}
|D ]p}zAt|d |tjrud||
  |d< ||
 	d|d< ||
 	 |d< |	|
 	d|d	< |V  W  n<|
t
|kr|
d7 }
W q@W  n- ty   d |d< d |d< d |d< d |d	< Y q@   d |d< d |d< d |d< d |d	< Y q@|d |d< |d |d< |d |d< |d	 |d	< tdd}tt| W d    n1 sw   Y  tjtjk r5t jd7  _ttj }|d d |d  }|d }|d D ]}t|	 }|| d }q	|d d }|dd d| t_ttj| jdV  d S 	 d S )Nzdiv._4rR01T::textz3div._13oc-S>div>div._2kHMtA > a._1fQZEK::attr(href)zdiv._25b18c>div._30jeq3::textzspan > div._3LWZlK::textzspan._2_R_DZ>span>span::textflipkart_urlflipkart_priceflipkart_star_ratingflipkart_no_ratingr   r
   zhttps://www.flipkart.comu   ₹       zfinal-flipkart-amazon-data.jsonwr   r   r   r   r   r   r   )r   datar   icssgetallresearch
IGNORECASEstriplen
IndexErroropenjsondumpcountstrreplacer   r   r   )r   responsekwargsdetailsobjecttitlesflipkart_urlsflipkart_pricesflipkart_star_ratingsflipkart_no_ratingsjtitlejsonfileobject1search_queryeler   r   r   r   (   s   


zFlipkartSpider.parse)__name__
__module____qualname__namer   r'   r   r,   r    custom_settingsr2   r<   r=   r-   r&   r.   r   r   r   r   r   r   r      s$    r   )scrapyr   itemsr   r*   r#   json_file_pathr)   r8   loadsreadr   Spiderr   r   r   r   r   <module>   s    