我看了一下那个页面,还有其它相关页面,如果你只取这一个页面的,那就很简单了,但是我想你大概是想要个通用的吧分析了一下,可以用class="offset_tab"定位到链接所在位置,而链接是根据页数来命名的,从onsubmit="return re_url(this.page.value,2,'subcate272_1081_list_','','.html');这埯可以取出页数和链接前缀,写了一个通用的方法,楼主可以试下 private string[] getUrl(string html) { string url = ""; string num = ""; Match m = Regex.Match(html, @"<table\s+class=""offset_tab""\s+[^>]*><[^>]*?\([^,]*?,(?<num>\d+),'(?<url>[^']*)',[^>]*><tr>", RegexOptions.IgnoreCase); if (m.Success) { url = m.Groups["url"].Value; num = m.Groups["num"].Value; } int number = 0; int.TryParse(num, out number); if (number > 0) { string[] urlArr = new string[number]; for (int i = 0; i < number; i++) { urlArr[i] = url + (i + 1); } return urlArr; } return new string[0]; }传进参数为网页源码,返回值为链接数组,使用前先判断下数组的Length是为大于0
{
string url = "";
string num = "";
Match m = Regex.Match(html, @"<table\s+class=""offset_tab""\s+[^>]*><[^>]*?\([^,]*?,(?<num>\d+),'(?<url>[^']*)',[^>]*><tr>", RegexOptions.IgnoreCase);
if (m.Success)
{
url = m.Groups["url"].Value;
num = m.Groups["num"].Value;
} int number = 0;
int.TryParse(num, out number);
if (number > 0)
{
string[] urlArr = new string[number];
for (int i = 0; i < number; i++)
{
urlArr[i] = url + (i + 1);
}
return urlArr;
}
return new string[0];
}传进参数为网页源码,返回值为链接数组,使用前先判断下数组的Length是为大于0