Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
183 ashish 1
'''
2
Created on 20-May-2010
3
 
4
@author: gaurav
5
'''
6
 
7
from scrapy.spider import BaseSpider
8
from scrapy.selector import HtmlXPathSelector
9
from scrapy.http import Request
10
 
11
from demo.items import DemoItem
12
from scrapy.contrib.spidermiddleware import referer
13
from scrapy.http.headers import Headers
14
from scrapy.http.request.form import FormRequest
15
from scrapy.log import msg
16
from scrapy.http.response import Response
17
 
18
from datastore import DataAccessor
19
from datastore.DataAccessor import DataHelper
20
 
21
 
22
class mobilestore_spider(BaseSpider):
23
 
24
    def __init__(self): 
25
       self.domain_name = "mobilestore"
26
       str1 = "http://www.themobilestore.in/sitemap.xml"
27
       self.start_urls.append(str1)
28
 
29
 
30
    def start_requests(self):
31
        da = DataHelper()
32
        da.add_supplier(self.domain_name, "www.themobilestore.in")
33
        listreq = []
34
        for url1 in self.start_urls:
35
            request = Request(url = str(url1), callback=self.parse)
36
            request.headers.setdefault("Referer", "http://www.mobilestore.in")
37
            listreq.append(request)
38
        return listreq
39
 
40
    def parse(self, response):
41
        da = DataHelper()
42
        hxs = HtmlXPathSelector(response)
43
        phone_urls = hxs.select('//url/loc/text()')
44
        ct = 1
45
        for i in phone_urls:
46
            site = i.extract()
47
            pos1 = pos2 = pos3 = 0
48
            temp =""
49
            pos1 = site.rfind('/')
50
            if pos1 != -1:
51
                pos2 = site.rfind('/',0,pos1-1)
52
            if pos2 != -1:    
53
                pos3 = site.rfind('/',0,pos2-1)
54
            if pos3 > 0:
55
                temp = site[pos3+1:pos2]
56
            if temp == "Mobile_Phones":
57
                #print str(ct) + " " + site
58
                #print "\n"
59
                #ct = ct +1    
60
                da.add_mobstoreurl(site)           
61
SPIDER = mobilestore_spider()