抓取网页数据工具(在线看电子书怎么办?电子书下载地址及分包处理方法)

优采云 发布时间: 2022-01-05 22:11

  抓取网页数据工具(在线看电子书怎么办?电子书下载地址及分包处理方法)

  最近在网上看了一本电子书,但是因为太长,找不到下载地址,所以写了一个小工具在本地下载电子书。

  总体思路:

  1、抓取目录中各章节的名称和网址

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

  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人工客服


线