对具有不同结构的多个网站进行Web爬网

Soh*_*ape 2 html web-crawler scrapy web-scraping jsoup

我想在具有不同结构的多个网站上进行网络爬网以查找特定数据.但是,我有一些关键字可以帮助我找到我想要的东西.为了更清楚,我想从大学的网站上提取一份教授名单,并将其循环到一个给定的大学名单上.这里的关键字可以是名字前面的"教授"或"教授"或"博士"字样,也可以是姓名后面的电子邮件.但是,处理每个网站的不同html结构有点挑战.

你的建议是什么?

Don*_*ons 5

这取决于.

选项1:如果"多个网站"意味着少数,可能多达十个,您可以尝试为每个网站构建一个单独的刮刀.

优势:您可以获得准确的结果并获得所有结果.

缺点:每当一个站点改变刮板断裂并需要调整时,当有100个或更多站点时,这将是太多的工作.

选项2:如果"多个网站"意味着很多网站,那么为每个网站构建一个刮刀可能太贵了.在这种情况下,我能想到的唯一其他选项是构建一个通用爬虫,它可以抓取所有站点,然后在结果上运行NLP算法来提取所需的数据.

我概述了这样一个基于NLP的处理流程在最近有些类似的问题中的样子:如何使用scrapy抓取数千个页面?

优势:一旦运行和微调,无论是否有100或1000个站点需要处理,并且当站点发生变化时它非常强大.

缺点:启动和运行比编写刮刀更困难,你永远不会获得100%的结果,也不会100%准确.