我正在尝试创建一种可抓取网站所有子页面的电子邮件抓取器。
因此,我将获取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.com
和example.com/subpage
,则它会以我们不想要的错误形式出现。
contains
怎么样,那么我们又遇到了另一个问题,因为我们想添加类似example.com/subpage
的内容,如果我们遇到facebook.com/ex.ample
链接或甚至可能包含该链接的GitHub链接。
简短地:
我的标签列表由-> hosturl.com 上的A标签更新:
然后,我希望我的排序器将它们排序到新的子页面列表中-> newSubPageList :
这里唯一重要的部分是https:// 我基本上已经整理出的其他部分。
最大的问题是,我无法弄清楚如何用fakeUrl来解密主机URL。
其他:我们可以将最终子页面网址归结为:hosturl.com/subpage
https://
部分和www并不是必须的,我以后可以添加它们,这确实需要捕获的.com部分后面的.com/subpage
斜杠。