Я пишу свой собственный специальный сканер для веб-сайтов по продаже товаров. Из-за их очень плохой природы кодирования я получаю URL, указывающие на одну и ту же страницу.
Пример один
http://www.hizlial.com/bilgisayar/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
Например, страница выше такая же, как и ниже
http://www.hizlial.com/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
Как вы видите, он содержит 2 элемента "bilgisayar", когда вы разделяете с помощью '/'
символа
Так что я хочу, я хочу разделить URL-адреса, как это
string[] lstSPlit = srURL.Split('/');
После этого проверьте, содержит ли этот список один и тот же элемент более одного раза или нет. Любой элемент. Если содержит какой-либо элемент, я пропущу URL-адрес, потому что у меня уже есть реальный URL-адрес, извлеченный из какой-либо другой страницы. Так какой же лучший способ сделать это?
Более длинная, но рабочая версия
string[] lstSPlit = srHref.Split('/');
bool blDoNotAdd = false;
HashSet<string> splitHashSet=new HashSet<string>();
foreach (var vrLstValue in lstSPlit)
{
if (vrLstValue.Length > 1)
{
if (splitHashSet.Contains(vrLstValue) == false)
{
splitHashSet.Add(vrLstValue);
}
else
{
blDoNotAdd = true;
break;
}
}
}