- Регистрация
- 17.05.2015
- Сообщения
- 81
- Благодарностей
- 13
- Баллы
- 8
Есть 2 сниппа которые делают одно и то же - производят парсинг текста по 10 ссылкам какой из них более подходящий для этой цели? Очень хочется узнать мнение бывалых.
1 снип
2 снип
просто при работе в многопотоке 2 снип часто подвисает а, ошибку найти не могу
1 снип
Код:
var list = project.Lists["tmp_txt"];
list.Clear();
var urls = project.Lists["urls"];
int d = urls.Count;
for(int j=0; j<d; j++){
if(j>10) break;
var str = urls[j].ToString();
Tab tb = instance.NewTab("xxx");
tb.Navigate(str);
if (tb.IsBusy) tb.WaitDownloading();
var text = instance.ActiveTab.MainPageArticle;
tb.Close();
var pattern = @"[А-ЯA-Z].{15,}?(\.|\!|\?)(?=\ |\r|\n|$)";
var result = Regex.Matches(text, pattern);
int c = result.Count;
lock(SyncObjects.ListSyncer){
for(int i=0; i<c; i++){
var t = result[i].ToString().Trim();
list.Add(System.Net.WebUtility.HtmlDecode(t));
}
}
}
Код:
var list = project.Lists["tmp_txt"];
list.Clear();
var urls = project.Lists["urls"];
int d = urls.Count;
for(int j=0; j<d; j++){
if(j>10) break;
var str = urls[j].ToString();
var Get = ZennoPoster.HttpGet(str, "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,30000);
Get = System.Text.RegularExpressions.Regex.Replace(Get, @"<.*?>|\r|\n|\t", "");
Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
Get = reg.Replace(Get, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
var pattern = @"[А-ЯA-Z].{15,}?(\.|\!|\?)(?=\ |\r|\n|$)";
var result = Regex.Matches(Get, pattern);
int c = result.Count;
lock(SyncObjects.ListSyncer){
for(int i=0; i<c; i++){
var t = result[i].ToString().Trim();
if(t.Contains("#") || t.Contains("=") || t.Contains("\":") || t.Contains("{") || t.Contains("---")){
continue;
}else{
list.Add(System.Net.WebUtility.HtmlDecode(t));
}
}
}
}