源码在下面;控制台小程序,附件里有软件。话不多说自己慢慢研究吧(我自己也是小白,自己边学边做的)不好勿喷。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace _38.半次元
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("半次元");
//存正则提取出来的链接
List<string> zhuye = new List<string>();
zhuye.Clear();//毫无卵用
//存下一页的链接
List<string> xiayiye = new List<string>();
xiayiye.Clear();//毫无卵用
//经过查看源码得知网页翻页只有单个字符改变,(页数)代码如下,只有数字改变
//<a href="/acg/cos/index_18.html">18</a>
int a = 0;
//所以,我们将1-末尾页20页链接拼接好存入集合中
for (int i = 2; i <= 20; i++)
{
//起始页与其他页面不同
if (a == 0)
{
xiayiye.Add(@"https://t2cy.com/acg/cos/index.html");
}
a++;
xiayiye.Add(@"https://t2cy.com/acg/cos/index_" + i + ".html");
}
for (int i = 0; i < xiayiye.Count; i++)//循环输出一下看看页面是否正确
{
Console.WriteLine(xiayiye[i]);
}
Console.WriteLine("当前网页共有{0}个页面", xiayiye.Count);
Console.WriteLine("按下回车继续!");
Console.ReadKey();
//存好以后将下一页的链接循环一遍,保存主页cos链接
for (int i = 0; i < xiayiye.Count; i++)
{
string sw = lianjie1.DownloadString(xiayiye[i]);
//<a href=""(.+?)"".+?block;"></a>
MatchCollection tiqu = Regex.Matches(sw, @"<a href=""(.+?)"".+?");
foreach (Match tiqu1 in tiqu)
{
//将杂项链接去除
if (tiqu1.Groups[1].Value.Length < 36)
{
}
else
{
if (zhuye.Contains(@"https://t2cy.com" + tiqu1.Groups[1].Value))
{