【发布时间】:2017-09-20 23:57:18
【问题描述】:
我正在尝试抓取 4 个字段:图片、链接、名称、价格。
这段代码:
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-09-21 07:55:31 [scrapy.core.engine] 信息:蜘蛛打开 2017-09-21 07: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] 调试:已爬网(200)https://www.vapedonia.com/robots.txt>(参考:无) 2017-09-21 07:55:32 [scrapy.core.engine] 调试:已爬网(200)https://www.vapedonia.com/11-mods-potencia->(参考:无) https://www.vapedonia.com/4688-home_default/-ipv-6x-azul-pionner4you.jpg https://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-> (参考:无) 回溯(最近一次通话最后): _runCallbacks 中的文件“C:\Users\eric\Miniconda2\lib\site-packages\twisted\internet\defer.py”,第 653 行 current.result = callback(current.result, *args, **kw) 解析中的文件“C:\Users\eric\Documents\Web Scraping\0 - Projets\Scrapy-\projects\craigslist\craigslist\spiders\jobs8.py”,第 18 行 打印图片、链接、名称、价格 文件“C:\Users\eric\Miniconda2\lib\encodings\cp850.py”,第 12 行,编码 返回 codecs.charmap_encode(输入,错误,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 统计数据:
【问题讨论】:
-
你看到了什么错误?
-
我现在得到的唯一错误与源代码的错误缩进有关。如果更正,它对我有用。
-
代码运行正常,请发布完整的异常详情
-
所以它对我不起作用。我刚刚在初始消息中输入了错误。