html文本保存为chm文档,并建立索引

您所在的位置:网站首页 怎么把网页保存为文档 html文本保存为chm文档,并建立索引

html文本保存为chm文档,并建立索引

2024-07-10 08:14| 来源: 网络整理| 查看: 265

上节讲解了如何抓取微信公众号文章,这节就来搞搞怎样保存,方便自己以后查阅。 这里我选择了chm。

有三个原因:     1.chm可以建立索引,查阅文章比较方便     2. chm暂时没发现有啥存储问题,例如图片不显示     3. 管理方便,一个公众号一个chm

那么接着上回的直接讲保存。 步骤很简单,分两步: 1.下载网页 2. 用Easy CHM选择下载的网页直接转换即可

首先Easy CHM的安装,下载网址: http://www.etextwizard.com/cn/easychm.html 下载完毕一路next即可。到这里,准备工作已经ok。 下面贴公众号的下载代码: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190110221250970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyYXp5X19Ib3Bl,size_16,color_FFFFFF,t_70 相比上次仅添加了这些用红色线条框住的代码。

网页下载完毕,把这些网页单独拖到一个文件夹当中,任意命名。 然后打开easychm 在这里插入图片描述 点击浏览选择你刚才保存网页的文件夹 在这里插入图片描述 然后点击 搜索选项 在这里插入图片描述 请选择这三个选项与这里保持相同。点击确定 在这里插入图片描述 然后点击编译。 在这里插入图片描述 方框1的位置是chm生成的标题,可以自己设置。然后点击方框二,CHM设置 在这里插入图片描述 请勾选这一选项,建立索引。 最后点击确定,然后生成chm文档即可。 最后效果图: 在这里插入图片描述

下面贴完整的mitmdump的抓包脚本

# -*- encoding:utf-8 -*- import requests import json import time import html def parse(__biz, uin, key, pass_ticket, appmsg_token="", offset="0", **kwargs): url = "https://mp.weixin.qq.com/mp/profile_ext" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400", } params = { "action": "getmsg", "__biz": __biz, "f": "json", "offset": str(offset), "count": "10", "is_ok": "1", "scene": "124", "uin": uin, "key": key, "pass_ticket": pass_ticket, "wxtoken": "", "appmsg_token": appmsg_token, "x5": "0", } proxies = { "https": None, "http": None, } res = requests.get(url, headers=headers, params=params, proxies=proxies, timeout=3) data = json.loads(res.text) msg_list = eval(data.get("general_msg_list")).get("list", []) for i in msg_list: url = i["app_msg_ext_info"]["content_url"].replace("\\", "").replace("http", "https") url = html.unescape(url) title = i["app_msg_ext_info"]["title"] print(title, url) res = requests.get(url, headers=headers, proxies=proxies, timeout=3) with open(title+".html", "wb+") as f: f.write(res.content) # 判断是否可继续翻页 1-可以翻页 0-到底了 if 1 == data.get("can_msg_continue", 0): time.sleep(3) parse(__biz, uin, key, pass_ticket, appmsg_token, data["next_offset"]) else: print("爬取完毕") def response(flow): if "profile_ext?action=home" in flow.request.url: params = flow.request.url.split("?")[1] params = {i.split("=")[0]: i.split("=")[1] for i in params.split("&")} params["__biz"] = params["__biz"]+"==" params["uin"] = requests.utils.unquote(params["uin"]) parse(**params)

到这里结束,over!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3