网页信息抓取软件(在线看电子书怎么办?电子书下载地址及分包处理方法)

优采云 发布时间: 2022-01-15 19:03

  网页信息抓取软件(在线看电子书怎么办?电子书下载地址及分包处理方法)

  最近,我在网上阅读了一本电子书。由于篇幅太长,找不到下载地址,写了一个小工具,将电子书下载到本地。

  总体思路:

  1、在目录中获取每章的名称和网址

  2、遍历章节URL获取具体内容

  3、将章节URL分包给多线程处理

  4、对处理后的内容重新排序,按章节名排序

  5、将内容写入 TXT 文件

  先抓取导航页内容,通过WebRequest对象获取网页内容

  ///

/// 通过链接地址获取HTML内容

///

///

///

private static string GetHtml(string url)

{

string html = "";

try

{

WebRequest request = WebRequest.Create(url);

request.Credentials = CredentialCache.DefaultCredentials;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream stream = response.GetResponseStream();

StreamReader reader = new StreamReader(stream, encoding);

html = reader.ReadToEnd();

reader.Close();

stream.Close();

response.Close();

}

catch

{

}

return html;

}

  通过正则表达式获取章节地址和名称

<p>///

/// 获取所有链接地址

///

///

private static Dictionary GetAllUrl(string html)

{

string titlePattern = @"第(?\d+)节";

Dictionary dictRet = new Dictionary();

string pattern = @"]*?href=(['""]?)(?[^'""\s>]+)\1[^>]*>(?(?:(?!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线