我按照以下两篇文章的建议进行操作,因为我也正在尝试创建一个通用的Scrapy爬虫:
如何在Scrapy爬虫中传递用户定义的参数
创建一个通用的Scrapy爬虫
但是,我遇到了一个错误,即我应该传递作为参数的变量未定义。 我在我的init方法中漏掉了什么吗?
代码:
如何在Scrapy爬虫中传递用户定义的参数
创建一个通用的Scrapy爬虫
但是,我遇到了一个错误,即我应该传递作为参数的变量未定义。 我在我的init方法中漏掉了什么吗?
代码:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from data.items import DataItem
class companySpider(BaseSpider):
name = "woz"
def __init__(self, domains=""):
'''
domains is a string
'''
self.domains = domains
deny_domains = [""]
start_urls = [domains]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('/html')
items = []
for site in sites:
item = DataItem()
item['text'] = site.select('text()').extract()
items.append(item)
return items
这是我的命令行:
scrapy crawl woz -a domains="http://www.dmoz.org/Computers/Programming/Languages/Python/Books/"
以下是错误信息:
NameError: name 'domains' is not defined