问题描述
我创建了一个蜘蛛抓取一个网站和取我想要的数据。 (它的工作非常好)
但我想,得到仅1项(而不是数千)当所有URL已以优化它已被抓取。
我的蜘蛛的主要部分(在一个非常简化的方式)是:
export interface CustomerListItem {
name: string;
address: string;
}
const EXAMPLE_DATA: CustomerListItem[] = [
{ name: 'Michael Jordan',address: '1111 Grail St. Concord MI 98076' },{ name: 'Jeremy Scott',address: '7690 Wing Drive. Adidas,MI' },{ name: 'Hiroki Nakamura',address: '980 Air Force Rd. Jubilee,{ name: 'James Bond',address: '654 Depop Dr. Chicago,{ name: 'Bill Bowerman',address: '1811 Hill St. Converse,{ name: 'Clyde Frazier',address: '3333 Cement Ln. Jordan,MI'},{ name: 'Jeff Staple',address: '4444 Black Cat Ct. Jordan,{ name: 'Sophia Chang',address: '2006 Citrus Rd. Seven,];
在一个完美的世界,我想只是:
def start_requests(self):
yield scrapy.Request(url=self.domain,callback=self.parse,dont_filter=True)
def parse(self,response,depth=0):
# Save data in self Object & return next urls to crawl
links_to_crawl = self.crawling(soup)
if depth + 1 == self.depth_max:
yield self.create_item()
else:
for link in links_to_crawl:
yield scrapy.Request(
url = response.urljoin(link),dont_filter=True,cb_kwargs = {"depth": depth + 1}
)
def create_item(self):
item = ItemLoader(item=WhatbotItem())
item.add_value('domain',self.domain)
item.add_value('title',self.title)
return item.load_item()
我试过很多想法,但我不知道很多Scrapy,帮我:)
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)