- Регистрация
- 01.05.2015
- Сообщения
- 4 983
- Благодарностей
- 4 433
- Баллы
- 113
Что-то никак не пойму как решить задачу без костылей типа промежуточных списков.
Есть такой кусок верстки:
Нужно в таблицу спарсить в две колонки ссылки и соответствующие категории.
Делаю как обычно:
Но скрипт раскидывает URL и название категории по нескольким столбцам.
Как этого избежать?
Есть такой кусок верстки:
Код:
<li><span class="a-list-item"><a class="a-link-normal s-ref-text-link" href="/s/ref=sr_nr_n_0?fst=as%3Aoff&rh=n%3A163856011%2Cp_n_date%3A1249098011%2Cp_n_feature_browse-bin%3A625150011%2Cn%3A%21624868011%2Cn%3A624869011&bbn=624868011&ie=UTF8&qid=1514637061&rnid=624868011"><span class="a-size-small a-color-base">Alternative Rock</span></a></span></li><li><span class="a-list-item"><a class="a-link-normal s-ref-text-link" href="/s/ref=sr_nr_n_1?fst=as%3Aoff&rh=n%3A163856011%2Cp_n_date%3A1249098011%2Cp_n_feature_browse-bin%3A625150011%2Cn%3A%21624868011%2Cn%3A624881011&bbn=624868011&ie=UTF8&qid=1514637061&rnid=624868011"><span class="a-size-small a-color-base">Blues</span></a></span></li><li><span class="a-list-item"><a class="a-link-normal s-ref-text-link" href="/s/ref=sr_nr_n_2?fst=as%3Aoff&rh=n%3A163856011%2Cp_n_date%3A1249098011%2Cp_n_feature_browse-bin%3A625150011%2Cn%3A%21624868011%2Cn%3A624894011&bbn=624868011&ie=UTF8&qid=1514637061&rnid=624868011"><span class="a-size-small a-color-base">Broadway & Vocalists</span></a></span></li><li><span class="a-list-item"><a class="a-link-normal s-ref-text-link" href="/s/ref=sr_nr_n_3?fst=as%3Aoff&rh=n%3A163856011%2Cp_n_date%3A1249098011%2Cp_n_feature_browse-bin%3A625150011%2Cn%3A%21624868011%2Cn%3A624899011&bbn=624868011&ie=UTF8&qid=1514637061&rnid=624868011"><span class="a-size-small a-color-base">Children's Music</span></a></span></li>
Делаю как обычно:
Код:
string result = project.Variables["result"].Value;
var cat = project.Tables["category"];
Regex reg = new Regex(@"/s/ref=.*?(?=""\><span)");
MatchCollection m = reg.Matches(result);
Regex reg1 = new Regex(@"(?<=base"">).*?(?=</span>)");
MatchCollection m1 = reg1.Matches(result);
for (int i = 0; i < m.Count; i++) {
cat.AddRow(m[i].Value + "\t"+ m1[i].Value);
}
Как этого избежать?