Html 针对不同结构的多个网站的Web爬行

Html 针对不同结构的多个网站的Web爬行,html,web-scraping,scrapy,web-crawler,jsoup,Html,Web Scraping,Scrapy,Web Crawler,Jsoup,我想在多个具有不同结构的网站上进行网络爬网,以查找特定的数据。然而,我有一些关键字来帮助我找到我想要的。更清楚地说,我想从一所大学的网站上提取一个profs名称列表,并在给定的大学列表上循环。这里的关键词可以是姓名前的“Professor”或“Prof”或“Dr”,也可以是姓名后的电子邮件。然而,处理每个网站具有的不同html结构有点挑战性 你有什么建议?视情况而定 选项1:如果“多个网站”指的是少数网站,可能多达十个,您可以尝试为每个网站构建一个单独的刮板 优点:你得到准确的结果,你得到所有的

我想在多个具有不同结构的网站上进行网络爬网,以查找特定的数据。然而,我有一些关键字来帮助我找到我想要的。更清楚地说,我想从一所大学的网站上提取一个profs名称列表,并在给定的大学列表上循环。这里的关键词可以是姓名前的“Professor”或“Prof”或“Dr”,也可以是姓名后的电子邮件。然而,处理每个网站具有的不同html结构有点挑战性

你有什么建议?

视情况而定

选项1:如果“多个网站”指的是少数网站,可能多达十个,您可以尝试为每个网站构建一个单独的刮板

优点:你得到准确的结果,你得到所有的结果

缺点:每当一个站点发生变化时,刮板就会断裂,需要调整,当站点数量达到或超过100个时,这将是太多的工作

选项2:如果“多个网站”意味着有很多网站,那么为每个网站构建一个刮板可能太贵了。在这种情况下,我唯一能想到的另一个选择是构建一个通用的爬虫程序,对所有站点进行爬虫,然后对结果运行NLP算法,以提取所需的数据

我在最近的一个类似问题中概述了这种基于NLP的处理管道的外观:

优点:一旦它运行并进行了微调,不管有100个或1000个站点需要处理,当站点发生变化时,它都非常健壮

缺点:启动并运行这个程序比编写刮刀更困难,而且你永远不会得到100%的结果,也不会100%准确

在2020/04年增加: 选项3:在某些市场上,您会发现一些专门的内容管理系统或网站模板非常常见,遵循帕累托规则/80/20规则,您通常可以通过实施一些专门的刮刀来覆盖60-80%的所有网站

优点:你得到准确的结果,你得到所有的结果,仍然可以覆盖大部分100或1000个看似不同的网站


缺点:只有当大多数网站有足够的共同点时,这种方法才有效。这种情况通常发生在少数专门的(内容管理)系统在这个“市场”中广泛存在的情况下。

选项2正是我想要的。请问在哪里可以找到这种包装的样品?或者至少,我应该从哪里开始?我不是编程专家,我敢打赌你一定是从我的问题中猜出来的。因此,任何帮助都将不胜感激。不幸的是,这类系统没有现成的软件包,因为这类系统非常复杂,必须针对每个领域进行调整和培训。当我构建这样的系统时,通常需要花费数人-周的时间,时间跨度为2-3个月。如果您对编程有基本的了解,并且想学习如何做到这一点,那么一个好的起点就是学习NLP(自然语言处理)的基础知识。这方面有很多好书。非常感谢。我真的发现了这一点[并且非常兴奋地看到我能用它做些什么。不客气。如果我的回答对你有帮助,请将其标记为接受。