我需要创建一个蜘蛛来抓取网站上的一些数据。 部分数据是外部URL。Scrapy:通过2个蜘蛛之间的数据
我已经创建了抓取根站点数据的蜘蛛,现在我想为外部网页编写蜘蛛。
我正在考虑创建一个使用SgmlLinkExtractor来追踪每个外部网页中的特定链接的爬行页。
将start_url列表传递给第二个蜘蛛的推荐方式是什么?
我的想法是为项目生成一个json文件并读取第二个蜘蛛的start_requests中的属性。
我需要创建一个蜘蛛来抓取网站上的一些数据。 部分数据是外部URL。Scrapy:通过2个蜘蛛之间的数据
我已经创建了抓取根站点数据的蜘蛛,现在我想为外部网页编写蜘蛛。
我正在考虑创建一个使用SgmlLinkExtractor来追踪每个外部网页中的特定链接的爬行页。
将start_url列表传递给第二个蜘蛛的推荐方式是什么?
我的想法是为项目生成一个json文件并读取第二个蜘蛛的start_requests中的属性。
我已经创建了一个从根网站 抓取数据的蜘蛛,现在我想写外部网页蜘蛛。
将这些外部页面URL保存到数据库。
将start_url列表传递给第二个蜘蛛的推荐方式是什么?
覆盖您的其他蜘蛛中的BaseSpider.start_requests
,并从您从数据库获取的URL创建请求。
的问题是相当模糊的,但这里是一个办法(??)
class PracticeSpider(BaseSpider):
name = "project_name"
allowed_domains = ["my_domain.org"]
def start_requests(self):
start_urls = "The First Page URL"
return [Request(start_urls, callback=self.parse)]
def parse(self, response):
# parse the first page
yield self.pageParser(response)
# grab the external URLs you want to follow
ext_urls = ...
for url in ext_urls:
yield Request(url, callback=self.pageParser)
def pageParser(self, response):
# parse the page
return items
还有一个元= {}属性的请求,可能会有所帮助。
谢谢,这正是我所做的。 我将url保存到一个文件中,第二个蜘蛛在start_requests中读取并解析它。 – DjangoPy 2012-07-20 07:26:36