Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 您好,我对scrapy有点陌生,我正在尝试使用scrapy刮取特定站点,但我的scrapy程序不是';我什么也不退_Python_Web Scraping_Scrapy - Fatal编程技术网

Python 您好,我对scrapy有点陌生,我正在尝试使用scrapy刮取特定站点,但我的scrapy程序不是';我什么也不退

Python 您好,我对scrapy有点陌生,我正在尝试使用scrapy刮取特定站点,但我的scrapy程序不是';我什么也不退,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我四处寻找过类似的问题,但没有找到任何真正解决问题的方法。 这是我的密码: import scrapy import csv class quotes(scrapy.Spider): name='goodreads_quotes' def get_response(self): site='https://www.goodreads.com/{}' start_urls=[site.format('quotes')] for number in range(1,

我四处寻找过类似的问题,但没有找到任何真正解决问题的方法。 这是我的密码:

import scrapy

 import csv

 class quotes(scrapy.Spider):

name='goodreads_quotes'
def get_response(self):
    site='https://www.goodreads.com/{}'
    start_urls=[site.format('quotes')]
    for number in range(1,11):
        start_urls.append(site.format(str(number)))
    yield [scrapy.requests(url=url, callback=self.get_quotes) for url in start_urls]
def get_quotes(self,response):
    quotes=response.css('div .quoteText::text').extract()
    for quote in quotes:
        print('-'*20)
        print(quote)
        csvfile=open('quote.csv','w+')
        csvfile.write(quote)
    csvfile.close()
我已经交叉检查了我的css选择器 使用:

在脏兮兮的候机楼,看起来还不错

import scrapy

class quotes(scrapy.Spider):
    name='goodreads_quotes'
    # Makes primary request with default callback=self.parse
    start_urls = ['https://www.goodreads.com/quotes']

def parse(self,response):
    quotes = response.css('div .quoteText::text').extract()
    for quote in quotes:
        # Scrapy generates result using Item instances. 
        # In simple cases it could be just simple dicts.
        item = {'quote': quote.strip()}
        yield item
使用
scrapy crawl goodreads\u quotes-o quotes.csv运行此爬行器

Scrapy自动处理以多种格式导出的项目,如csv、json、jsonlines。您不需要手动编写,这将是一件痛苦的事情,因为如果异步的性质是“刮擦”的话。

我试图使用该命令运行代码,但我一直得到[KeyError:“Spider not found],我正在从正确的目录运行代码,而且我也在使用正确的文件名,所以我认为问题不在该区域。哦。。。糟糕的是,我忘了提到它只适用于项目,而不适用于单个spider。如果是单文件spider,请使用
scrapy runspider filename.py
这里有更多详细信息。太棒了!!!,成功了!!,我已经尝试了一段时间了,虽然还有一些小问题,但我会自己解决的。谢谢
import scrapy

class quotes(scrapy.Spider):
    name='goodreads_quotes'
    # Makes primary request with default callback=self.parse
    start_urls = ['https://www.goodreads.com/quotes']

def parse(self,response):
    quotes = response.css('div .quoteText::text').extract()
    for quote in quotes:
        # Scrapy generates result using Item instances. 
        # In simple cases it could be just simple dicts.
        item = {'quote': quote.strip()}
        yield item