比较两个具有相似内容的网站主机

时间:2018-12-04 00:27:04

标签: c# web-scraping console-application html-agility-pack scrapysharp

我正在尝试创建一种可抓取网站所有子页面的电子邮件抓取器。

因此,我将获取Href的所有值并进行验证,我需要运行一些检查,其中之一是使用Host Url检查新的Url。

第一个问题是,基本上,我注意到某些网站使用https://www.exsmpl.com作为其href值,或使用/subpage进入其下一个网页。

许多页面除了重定向链接外还有其他链接,因此我也需要将它们分开。

所以要分开这些,我需要使用newUrl并将其与HostUrl进行比较

这就是我尝试过的:

 //For each item inside the Newly found A-href Urls list
    foreach (var item in newATagUrl) {

         if (item.Contains("://")) {

               bool compareHostToFake = HostUrl.Equals(item);
               if (compareHostToFake) {
                       newSubpageUrls.Add(item);
                   } 
    }

此equals方法的问题是,我们很难比较这两个网址,因此,如果我的主机是example.comexample.com/subpage,则它会以我们不想要的错误形式出现。

contains 怎么样,那么我们又遇到了另一个问题,因为我们想添加类似example.com/subpage的内容,如果我们遇到facebook.com/ex.ample链接或甚至可能包含该链接的GitHub链接。

简短地:

我的标签列表由-> hosturl.com 上的A标签更新:

  1. https://www.fb.com/host.party
  2. https://www.hosturl.com/subpage
  3. https://www.google.com/
  4. index.html
  5. /contact.php

然后,我希望我的排序器将它们排序到新的子页面列表中-> newSubPageList

  1. https://www.hosturl.com/subpage
  2. index.html
  3. /contact.php

这里唯一重要的部分是https:// 我基本上已经整理出的其他部分。

最大的问题是,我无法弄清楚如何用fakeUrl来解密主机URL。

其他:我们可以将最终子页面网址归结为:hosturl.com/subpage https://部分和www并不是必须的,我以后可以添加它们,这确实需要捕获的.com部分后面的.com/subpage斜杠。

0 个答案:

没有答案