Python 将包含爬网详细信息和解析函数的类调用到另一个类

Python 将包含爬网详细信息和解析函数的类调用到另一个类,python,scrapy,Python,Scrapy,我是个新手。我有一个非常基本的疑问,但找不到解决办法。 我的代码: import os from boto import log from scrapy.utils.project import get_project_settings import scrapy from scrapy.crawler import CrawlerProcess, Crawler from scrapy.linkextractors.sgml import SgmlLinkExtractor from scr

我是个新手。我有一个非常基本的疑问,但找不到解决办法。 我的代码:

import os
from boto import log
from scrapy.utils.project import get_project_settings

import scrapy
from scrapy.crawler import CrawlerProcess, Crawler
from scrapy.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from scrapy.settings import Settings
from scrapy.utils import reactor

from testing.items import testingItem
from testing.spiders.MySpider1 import Spider1
from scrapy.contrib.spiders import CrawlSpider, Rule
from multiprocessing import Pool
from scrapy.crawler import CrawlerRunner
from scrapy.utils.log import configure_logging
class MySpider(CrawlSpider):
    name = "MySpider"
a=Spider1()
a.parse()
*********以上代码在单独的页面中***********

import scrapy
from testing.items import testingItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.crawler import CrawlerProcess
from multiprocessing import Process, Queue
class Spider1():

 def parse(self, response):

  allowed_domains = ["dmoz.org"]
  start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
  "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
        ]



for sel in response.xpath('//ul/li'):
          item = testingItem()
          item['title'] = sel.xpath('a/text()').extract()
          item['link'] = sel.xpath('a/@href').extract()
          item['desc'] = sel.xpath('text()').extract()
          yield item

问题是我想用上面提到的解析功能来抓取上面提到的站点。我无法调用函数并爬行而不出错。

好吧,错误消息很清楚:您调用
parse
函数时没有
response
参数。您需要一个响应来让scrapy解析站点信息。如果你想启动spider,你需要用另一种方式来调用它

一般的方法是从命令行用

scrapy crawl <spider_name>

这将启动spider——它将处理
start\u URL
中的所有站点,以及
parse
函数中您请求的任何内容。

如果您遇到错误,为什么不与我们共享?(编辑您的问题并向其添加错误消息)TypeError:parse()只接受2个参数(给定1个)这是我的错误如何在调用它的类中获得爬行器执行的返回?
settings = get_project_settings()
process = CrawlerProcess(settings)
process.crawl(Spider1)
process.start()