Scrapy - 爬取 (200) 和引用:none

Scrapy - crawled (200) and referer : none

我正在尝试学习如何使用 scrapy 和 python 但我根本不是专家...离这里很远。 抓取此页面后我总是有一个空文件:product of c-discount 我不明白为什么...

这是我的代码:

import scrapy

from cdiscount_test.items import CdiscountTestItem

f = open('items.csv', 'w').close()

class CdiscountsellersspiderSpider(scrapy.Spider):
    name = 'CDiscountSellersSpider'
    allowed_domains = ['cdiscount.com']
    start_urls = ['http://www.cdiscount.com/mpv-8732-SATENCO.html']

    def parse(self, response):
        items = CdiscountTestItem()
        name = response.xpath('//div[@class="shtName"]/div[@class="shtOver"]/h1[@itemprop="name"]/text()').extract()
        country = response.xpath('//div[@class="shtName"]/span[@class="shTopCExp"]/text()').extract()

        items['name_seller'] = ''.join(name).strip()
        items['country_seller'] = ''.join(country).strip()
        pass

我在 cmd 中得到的结果 windows :

2017-06-20 18:01:50 [scrapy.core.engine] INFO: Spider opened
2017-06-20 18:01:50 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 
pages/min), scraped 0 items (at 0 items/min)
2017-06-20 18:01:50 [scrapy.extensions.telnet] DEBUG: Telnet console 
listening on 127.0.0.1:6023
2017-06-20 18:01:51 [scrapy.core.engine] DEBUG: Crawled (200) <GET 
http://www.cdiscount.com/robots.txt> (referer: None)
2017-06-20 18:01:51 [scrapy.core.engine] DEBUG: Crawled (200) <GET 
http://www.cdiscount.com/mpv-8732-SATENCO.html> (referer: None)
2017-06-20 18:01:51 [scrapy.core.engine] INFO: Closing spider (finished)

有人帮我吗?

非常感谢!!!

这里的主要问题是您没有将 parse 方法中的项目传回 Scrapy 引擎。您在 parse 中的最后一个命令是 pass,因此您只需丢弃该项目。相反,您需要使用 yield item.

将项目从蜘蛛传递到 Scrapy 引擎以进行进一步处理

同一问题的一种可能情况是网站内容是动态生成的。您可以通过访问网站并点击查看页面源来检查。 在这种情况下,您可能需要将 splash 与 scrapy 一起使用。