C# 如何从多个网站获取联系人数据?

C# 如何从多个网站获取联系人数据?,c#,web-scraping,web-crawler,C#,Web Scraping,Web Crawler,我有数千个URL的列表。我想知道如何抓取联系人页面并从“联系我们”页面的URL中抓取联系人数据?e、 地址、电话和电子邮件 任何想法都会有帮助 我正在考虑使用正则表达式;它们可以用于电话和电子邮件,但不可能抓取地址。简短的回答是,没有万能的方法可以做到这一点。。它涉及到一些人类的智慧,这些智慧是建立在你试图刮取哪一页的基础上的 (1)收集信息(HTML) 因为您已经将范围缩小到URL列表。实现它的正确方法是使用您必须首先收集HTML页面的任何工具。因此,所有HTML文件都位于本地,因此每次调整代

我有数千个URL的列表。我想知道如何抓取联系人页面并从“联系我们”页面的URL中抓取联系人数据?e、 地址、电话和电子邮件

任何想法都会有帮助


我正在考虑使用正则表达式;它们可以用于电话和电子邮件,但不可能抓取地址。

简短的回答是,没有万能的方法可以做到这一点。。它涉及到一些人类的智慧,这些智慧是建立在你试图刮取哪一页的基础上的

(1)收集信息(HTML)

因为您已经将范围缩小到URL列表。实现它的正确方法是使用您必须首先收集HTML页面的任何工具。因此,所有HTML文件都位于本地,因此每次调整代码“正则表达式等”。您不需要再花几个小时访问他们的服务器来收集数据。 注意,这取决于您的目的,请在存储HTML文件之前阅读服务条款

(2)解析

现在,您的信息存储在本地笔记本电脑/服务器中。现在的问题是如何从HTML中解析它。我对C#和你的页面列表不太了解。如果你的联系人页面实际上来自同一个站点。。。假设社交媒体网页采用相同的HTML设计(这是最好的情况),您可以使用一些HTML解析器(我使用python中的beautifulsoup)轻松定位标记并获取标记内的内容。然后,您只需要将该函数应用于您存储的所有HTML,工作就完成了


如果URL都来自不同的站点,那么你只需要调整你的函数和人工识别你的解析结果是否足够好,然后继续尝试

简而言之,没有一种万能的方法可以做到这一点。。它涉及到一些人类的智慧,这些智慧是建立在你试图刮取哪一页的基础上的

(1)收集信息(HTML)

因为您已经将范围缩小到URL列表。实现它的正确方法是使用您必须首先收集HTML页面的任何工具。因此,所有HTML文件都位于本地,因此每次调整代码“正则表达式等”。您不需要再花几个小时访问他们的服务器来收集数据。 注意,这取决于您的目的,请在存储HTML文件之前阅读服务条款

(2)解析

现在,您的信息存储在本地笔记本电脑/服务器中。现在的问题是如何从HTML中解析它。我对C#和你的页面列表不太了解。如果你的联系人页面实际上来自同一个站点。。。假设社交媒体网页采用相同的HTML设计(这是最好的情况),您可以使用一些HTML解析器(我使用python中的beautifulsoup)轻松定位标记并获取标记内的内容。然后,您只需要将该函数应用于您存储的所有HTML,工作就完成了


如果URL都来自不同的站点,那么你只需要调整你的函数和人工识别你的解析结果是否足够好,然后继续尝试

定位地址是命名实体识别任务。NER是自然语言处理(NLP)的一个领域。您可以尝试使用斯坦福命名实体识别器(Stanford Named Entity Recogizer),它有一个.Net实现:定位地址是命名实体识别任务。NER是自然语言处理(NLP)的一个领域。您可以尝试使用Stanford命名实体Recogizer,它具有.Net的实现: