Scrapy爬虫 - 创建10,000蜘蛛或爬行10,000个域的蜘蛛?

时间:2015-07-25 06:14:12

标签: python scrapy

我需要抓取多达10,000个网站

因为每个网站都有自己的HTML结构,并且需要自己的XPATH&逻辑。创建和委派Request个对象。我很想为每个网站创建一个独特的蜘蛛

但这是前进的最佳方式吗?我可能只有一只蜘蛛并在start_urlsallowed_domains中添加所有10,000个网站,编写抓取库并去寻找它吗?

这是最好的做法吗?

1 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,我走了一条中路。

当您最终处理它时,您将遇到的大部分数据(可能)将以相同的方式处理。这意味着您需要的大部分逻辑都可以重复使用。具体包括查找数据的位置以及如何将其转换为通用格式。我建议如下:

创建您的MainSpider类,其中包含您需要的大多数逻辑和任务。 对于每个站点,子类MainSpider并根据需要定义逻辑模块。

main_spider.py

class MainSpider(object):
# Do things here
    def get_links(url)

        return links

spider_mysite.py

from main_spider import MainSpider
class SpiderMysite(MainSpider):
    def get_data(links):
        for link in links:

            # Do more stuff. 

希望它有所帮助。