如果我们有多个网站有不同的html结构,那么实施scrapy的更好方法是什么?
答案 0 :(得分:2)
不同的网站 - >如果在同一个项目中抓取相同的数据,同一个项目中的不同脚本,这两个脚本都可以驻留并使用相同的管道
同一网站 - >同一个项目
不同的网站,不同的数据 - >不同的项目
相同的网站,不同的数据 - >使用callback
答案 1 :(得分:1)
通常你应该在一个项目中创建多个蜘蛛,每个网站一个蜘蛛,但这取决于。
scrapy spider还决定如何从一个页面跳转到另一个页面,而不是应用解析器回调,解析器回调方法将从页面中提取数据。因为页面不一样,所以每个页面都需要一个解析器回调方法。
网站通常有不同的站点地图,因此您需要多个蜘蛛,每个网站一个,将决定如何从一个页面跳转到另一个页面。然而,蜘蛛会应用他们的回调决定如何刮取该页面。
通常您不需要为多个网站创建多个项目,但这取决于。 如果您的网站共享一些逻辑特征,请将它们放在一个项目中,以便它们可以使用相同的scrapy设置。通过这种方式也更容易,您可以创建基本蜘蛛并继承常用方法。