Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 20-May-2010

@author: gaurav
'''

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request

from demo.items import DemoItem
from scrapy.contrib.spidermiddleware import referer
from scrapy.http.headers import Headers
from scrapy.http.request.form import FormRequest
from scrapy.log import msg
from scrapy.http.response import Response


from datastore import DataAccessor
from datastore.DataAccessor import DataHelper

class mobstore_price(BaseSpider):
    
    def __init__(self):
       self.domain_name = "mobstorephones"
       da = DataHelper()
       for pitem in da.get_allmobstoreurls():
            self.start_urls.append(pitem.url.strip())
    
    def start_requests(self):
        listreq = []
        for url1 in self.start_urls:
            request = Request(url = url1, callback=self.parse)
            request.headers.setdefault("Referer", "www.themobilestore.in")
            listreq.append(request)
        return listreq
       
    def parse(self, response):
        site = response.url
        vatplustax = 0
        pos1 = pos2 = 0
        temp = ""
        pos1 = site.rfind('/')
        if pos1 != -1:
            temp = site[pos1+1:len(site)]
            #pos2 = site.rfind('/',0,pos1-1)
        #if pos2 > 0:
            #temp = site[pos2+1:len(site)]
        pos3 = temp.find('.')
        temp1 = temp[pos3:len(temp)]
        name = temp.replace(temp1,"")         
        hxs = HtmlXPathSelector(response)
        prices = hxs.select('//div[@id ="priceComp"]//tr[2]/td[3]/span/text()')
        
        da = DataHelper()
        for price in prices:
             name = str(name).strip()
             price = price.extract()
             price = str(price).strip()
             price = price.replace("Rs", "")
             price = price.replace("/", "")
             price = price.replace("-", "")
             price = price.replace(".", "")
             shown_pr = int(price)
             final_pr = shown_pr + vatplustax
             da.add_new_mobstorephone(name,shown_pr,final_pr)
             print name
             print final_pr
             print "\n"
    '''          
        for i in items:
            str1 = str(i['title']).strip() 
            print str1
            amnt = i['price'].replace(",","")
            amnt = amnt.replace("Rs", "")
            amnt = amnt.replace("/", "")
            amnt = amnt.replace("-", "")
            amnt = amnt.strip()
            vatplustax = 4*int(amnt)/100
            pr = int(amnt) + vatplustax 
            #print pr
            da.add_new_univerphone(str1,amnt,pr) 
        '''
SPIDER = mobstore_price()