2017-09-20 35 views
0

我試圖刮4個領域:圖像,鏈接,名稱,價格。Scrapy Impossible to get that field

此代碼:

import scrapy 
from scrapy import Request 

#scrapy crawl jobs7 -o job7.csv -t csv 
    class JobsSpider(scrapy.Spider): 
     name = "jobs8" 
     allowed_domains = ["vapedonia.com"] 
     start_urls = ["https://www.vapedonia.com/11-mods-potencia-"] 

     def parse(self, response): 
      products = response.xpath('//div[@class="product-container clearfix"]') 

      for product in products: 
       image = product.xpath('div[@class="center_block"]/a/img/@src').extract_first() 
       link = product.xpath('div[@class="center_block"]/a/@href').extract_first() 
       name = product.xpath('div[@class="right_block"]/p/a/text()').extract_first() 
       price = product.xpath('div[@class="right_block"]/div[@class="content_price"]/span[@class="price"]').extract_first() 
       print image, link, name, price 

得到一個錯誤。

我一直在嘗試創建我的xpath表達式,使用檢查工具和插件。我也嘗試過自己。它在網頁中工作,但不在腳本中。

我一直在爭取一段時間,我無法弄清楚發生了什麼。

有人知道會發生什麼嗎?

謝謝!

PS:這裏是我的錯誤: 2017年9月21日7時55分31秒[scrapy.core.engine] INFO:蜘蛛打開 2017年9月21日7時55分31秒[scrapy.extensions。 logstats]信息:爬行0頁(0頁/分鐘),刮0項(0項/分鐘) 2017-09-21 07:55:31 [scrapy.extensions.telnet]調試:Telnet控制檯監聽127.0 .0.1:6023 2017-09-21 07:55:32 [scrapy.core.engine] DEBUG:Crawled(200)https://www.vapedonia.com/robots.txt>(referer:None) 2017- 09-21 07:55:32 [scrapy.core.engine] DEBUG:Crawled(200)https://www.vapedonia.com/11-mods-potencia->(referer:無) https://www.vapedonia.com/4688-home_default/-ipv-6x-azul-pionner4you.jpghttps://www.vapedonia.com/pionner4you/2075--ipv-6x-azul-pionner4you.html IPV 6X AZUL - PIONNER4YOU 2017-09-21 07:55:32 [scrapy.core.scraper]錯誤:蜘蛛錯誤處理https://www.vapedonia.com/11-mods-potencia->(referer:None) Traceback(最近一次調用最後一次): 文件「C:\ Users \ eric \ Miniconda2 \ lib \ site-packages \ twisted \ internet \ defer.py「,第653行,在_runCallbacks中 current.result = callback(current.result,* args,** kw) 文件」C:\ Users \ eric \ Documents \ Web Scraping \ Projets \ Scrapy- \ projects \ craigslist \ craigslist \ spiders \ jobs8.py「,第18行,解析 打印圖像,鏈接,名稱,價格 文件」C:\ Users \ eric \ Miniconda2 \ lib \ encodings \ cp850。 py「,第12行,編碼爲 return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError:'charmap'編解碼器無法在位置26編碼字符u'\ u20ac':字符映射到 2017-09-21 07:55:32 [scrapy.core.engine]信息:關閉蜘蛛(完成) 2017-09-21 07:55:32 [scrapy.statscollectors]信息:傾銷Scrapy統計:

+0

你看到了什麼錯誤? – theUtherSide

+0

我現在得到的唯一錯誤與源代碼的縮進有關。如果糾正,它適用於我。 –

+0

代碼工作完美,請發佈完整的例外詳情 –

回答

0

這是一個字符集問題,我把這個:price = product.xpath (「div [@ class =」right_block「]/div [@ class =」content_price「]/span [@ class =」price「]')。extract_first().encode(」utf-8「)

這對我來說是一個正確的解決方案,但也可能是它可以在文件級別設置。

+0

只是一件事:在課前,我寫道:#scrapy crawl jobs7 -o job7.csv -t csv但這不是我用來抓取蜘蛛的東西,我用#scrapy抓取作業8 -o job8.csv -t CSV。我通常是大量的測試,我用來創建新文件,複製通常是最後一個文件創建的現有文件。只是讓它清楚,錯誤不是由此而來的。 – eric5037

相關問題