Bonjour,
Je sollicite l'aide des d�veloppeurs Python et qui connaisse le Framework "Scrapy" et aussi les autres.
Je suis nouveau dans le monde python et encore plus avec Scrapy.

Mon projet :
R�cup�rer tous les produits qui m'int�resse sur Cdiscount.

Ex:
Je voudrais r�cup�rer tous les ordinateurs portables qui se trouve � cette URL.

http://www.cdiscount.com/informatiqu...l-1070922.html



j'ai analys� la structure HTML de la page, ce qui m'int�resse se trouve dans

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<div class="mainColumn Pl">
	<div class="boxSimple pad05em list" id="productList">
		<div class="plProductView" data-sku="F552CLSX236H">
			<div class="plViewZone_1">
				RAPATRIER Tous ce qui se trouve ici
			</div>
			<div class="plViewZone_2">
				RAPATRIER Tous ce qui se trouve ici
			</div>
		</div>
	</div>
</div>
Comme dit dans mon code j'aimerais rapatrier ce qui se trouve dans la "class = plViewZone_1" et "class = plViewZone_2"
Donc la marque du PC, l'image, la description, le nom ainsi que le lien vers la page qui se trouve dans un HREF avec le nom du PC et la balise "data-sku" qui se trouve dans la "class = plProductView".

Voici mon Crawler :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
	from scrapy.contrib.spiders import CrawlSpider, Rule
	from scrapy.selector import Selector
	from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
	from enPromos.items import EnpromosItem
 
	class CDiscount(CrawlSpider):
		name = 'cdiscount'
		allowed_domains = ['cdiscount.com']
		start_urls = ['http://www.cdiscount.com']
 
		rules = (
			Rule (SgmlLinkExtractor(
				deny = (
					'\/about','\/maison\/','\/chaussures\/',
					'\/pret-a-porter\/','\/bijouterie\/',
					'\/bagages\/','\/le-sport\/','\/vin-champagne\/',
					'\/au-quotidien\/','\/juniors\/','\/dvd\/','\/livres-bd\/',
					'\/tout\/','\/carte-cdiscount\/','/mentions-legales.html',
					'\/culture-multimedia\/','/plan-du-site.asp')
					), callback='parse_item'),
		)
 
		def parse_item(self, response):
			self.log('la page est %s' % response.url)
			url_crawl = open('url.txt', 'a')
			url_crawl.write(str(response.url) + '\n')
			url_crawl.close()
			# my item
			my_item = EnpromosItem()
			# selector methode call
			sel = Selector(response)
 
			my_item['id'] = sel.xpath('//div[@class="plProductView"]/@data-sku').extract()
			my_item['name'] = sel.xpath('//a[@class="plPrName"]/@title').extract()
			my_item['descrip'] = sel.xpath('//span[@class="plPrDesc"]/@data-longdesc').extract()
			my_item['img'] = sel.xpath('//div[@class="plProductImg"]/img/@src').extract()
			my_item['brand'] = sel.xpath('//img[@class="plLogo"]/@src').extract()
 
			return my_item
Mon Item:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
 
from scrapy.item import Item, Field
 
class EnpromosItem(Item):
    # define the fields for your item here like:
	id = Field()
	name = Field()
	descrip = Field()
	img = Field()
	brand = Field()
Mon code actuel fonctionne pour le "data-sku" mais pour le reste cela ne fonctionne pas. N'�tant pas tr�s � l'aise avec le XPATH je sollicite votre aide et vos lumi�res.

Cordialement,