当前位置: 首页 > news >正文

保定网站优化招聘防疫给自己写个人先进事迹

保定网站优化招聘,防疫给自己写个人先进事迹,wordpress云建站,网站站群建设进度浏览器书签智能分类工具 最近发现浏览器的书签越来越乱了#xff0c;主要是因为自己太懒#xff0c;其次之前建的分类太多又乱#xff0c;重新手动整理确实比较烦。因此有了这个小项目。借助智谱AI的力量对书签进行重新分类。 项目简介 本工具用于自动整理浏览器书签主要是因为自己太懒其次之前建的分类太多又乱重新手动整理确实比较烦。因此有了这个小项目。借助智谱AI的力量对书签进行重新分类。 项目简介 本工具用于自动整理浏览器书签通过AI智能分类技术将杂乱的书签按照主题自动归类并且重新生成结构化的书签文件。 功能特性 自动提取书签信息智能分类书签内容分类智能生成生成HTML格式书签文件可直接导入浏览器自动清理临时文件 使用说明 准备工作 获取智谱AI API密钥准备浏览器导出的书签HTML文件 快速开始 下载脚本修改CONFIG配置中的INPUT_FILE和OUTPUT_FILE修改CONFIG配置中的API_KEY运行脚本python 浏览器书签文件重新分类.py查看生成的分类结果文件bookmarks.html 配置文件说明 在脚本开头的CONFIG字典中可配置以下参数 API_KEY: 智谱AI API密钥必填INPUT_FILE: 输入的书签HTML文件路径EXTRACTED_FILE: 提取的临时文件路径CLASSIFIED_FILE: 分类结果Markdown文件路径OUTPUT_FILE: 最终输出的HTML书签文件路径DEFAULT_CATEGORIES: 默认分类列表 代码结构 # 主要功能模块 1. 配置参数 (CONFIG) 2. AI客户端初始化 (zhipu_client) 3. 书签提取 (extract_bookmark_info) 4. 书签分类 (classify_bookmark) 5. 分类创建 (create_new_category) 6. 格式转换 (md_to_netscape) 7. 文件清理 (cleanup_temp_files)脚本代码详细说明 浏览器书签文件重新分类脚本详细说明 1. 配置参数 CONFIG {API_KEY: 9e2458a8acf46274d1c1b9418eec500c.oBojpibVHt3IyXnz, # 智谱API密钥必填INPUT_FILE: bookmarks_2025_1_3.html, # 输入文件必填EXTRACTED_FILE: extracted_bookmarks.txt, # 提取的临时文件CLASSIFIED_FILE: classified_bookmarks.md, # 分类结果文件OUTPUT_FILE: bookmarks.html, # 最终输出文件DEFAULT_CATEGORIES: [ # 默认分类编程语言,人工智能, 数据科学,] }API_KEY: 用于调用智谱AI API的密钥。INPUT_FILE: 输入的HTML格式浏览器书签文件路径。EXTRACTED_FILE: 提取的书签信息保存为文本文件的路径。CLASSIFIED_FILE: 分类后的书签信息保存为Markdown文件的路径。OUTPUT_FILE: 最终生成的HTML格式书签文件路径。DEFAULT_CATEGORIES: 预定义的默认分类列表。 2. 初始化客户端 zhipu_client ZhipuAI(api_keyCONFIG[API_KEY])使用提供的API密钥初始化智谱AI客户端用于后续与AI模型交互。 3. 获取AI响应 def get_llm_response(sysPrompt, questionPrompt):response zhipu_client.chat.completions.create(modelGLM-4-Plus, # 填写需要调用的模型编码messages[{role: user, content: sysPrompt},{role: assistant, content: 你好请告诉我你需要分类的书签},{role: user, content: questionPrompt},],)return response.choices[0].message.content定义一个函数get_llm_response用于向AI模型发送系统提示和用户问题并返回模型的响应内容。 4. 读取并解析HTML文件 with open(CONFIG[INPUT_FILE], r, encodingutf-8) as file:html_content file.read()soup BeautifulSoup(html_content, html.parser) bookmarks soup.find_all(a)bookmark_info [] for bookmark in bookmarks:href bookmark.get(href)add_date bookmark.get(add_date)icon bookmark.get(icon)text bookmark.text.strip().replace(\n, ).replace(\t, ).replace(\r, ).replace( , )bookmark_info.append({URL: href,Text: text})with open(CONFIG[EXTRACTED_FILE], w, encodingutf-8) as f:for info in bookmark_info:f.write(fName: {info[Text]}, URL: {info[URL]}\n)读取输入的HTML书签文件内容。使用BeautifulSoup解析HTML提取所有的a标签作为书签。将每个书签的URL和名称保存到bookmark_info列表中。将提取的书签信息保存到临时文件EXTRACTED_FILE中。 5. 分类书签 def extract_bookmark_info(line):name_match re.search(rName: ([^,]), line)url_match re.search(rURL: (https?://[^\s]), line)if not name_match or not url_match:return None, Nonereturn name_match.group(1), url_match.group(1)def classify_bookmark(bookmark_name, bookmark_url, categories):system_prompt (你是一个智能助手任务是根据提供的书签名称和URL从给定的分类列表中选择最合适的分类返回给用户。仅返回分类名称。\n请根据书签的内容和性质选择最适合的分类。如果没有合适的分类请回答无法分类。\n给定分类: {categories_str}\n请选择最合适的分类。\n示例user: 书签名称Python官方文档\n书签URLhttps://docs.python.org/3/\nassistant: 编程语言\n).format(categories_str, .join(categories))user_prompt (书签名称: {bookmark_name}\n书签URL: {bookmark_url}\n).format(bookmark_namebookmark_name, bookmark_urlbookmark_url)try:response get_llm_response(system_prompt, user_prompt)except Exception as e:response 其他if response 无法分类:return Nonereturn responsedef create_new_category(name, url):system_prompt (你是一个智能助手任务是根据提供的书签名称和URL给定一个合适的书签分类。仅返回分类名称。\n请根据书签的内容和性质给定分类。\n示例user: 书签名称Python官方文档\n书签URLhttps://docs.python.org/3/\nassistant: 编程语言\n)user_prompt (书签名称: {name}\n书签URL: {url}\n).format(namename, urlurl)response get_llm_response(system_prompt, user_prompt)return responseextract_bookmark_info: 从临时文件中每行提取书签名称和URL。classify_bookmark: 根据书签名称和URL使用AI模型从预定义分类中选择最合适的分类。如果无法分类则返回None。create_new_category: 如果书签无法归入现有分类则创建新分类。 6. 处理书签分类 categories CONFIG[DEFAULT_CATEGORIES]with open(CONFIG[EXTRACTED_FILE], r, encodingutf-8) as f:bookmarks f.readlines()classified defaultdict(list) for line in bookmarks:if not line.strip():continuename, url extract_bookmark_info(line)if not name or not url:continuecategory classify_bookmark(name, url, categories)if not category:category create_new_category(name, url)categories.append(category)print(f分类书签: {name} - {category})classified[category].append(line)with open(CONFIG[CLASSIFIED_FILE], w, encodingutf-8) as f:f.write(# 书签\n\n)for category, items in classified.items():f.write(f## {category}\n)for item in items:name, url extract_bookmark_info(item)if name and url:f.write(f- [{name}]({url})\n)f.write(\n)从临时文件中读取所有书签信息。对每个书签进行分类如果无法归入现有分类则创建新分类。将分类结果保存到Markdown文件CLASSIFIED_FILE中。 7. 将分类结果转换为HTML书签文件 def md_to_netscape(md_content):html !DOCTYPE NETSCAPE-Bookmark-file-1META HTTP-EQUIVContent-Type CONTENTtext/html; charsetUTF-8TITLEBookmarks/TITLEH1Bookmarks/H1DLplines md_content.split(\n)stack []current_level 0for line in lines:if line.startswith(#):level line.count(#)title line.lstrip(#).strip()while stack and stack[-1] level:html /DLp\nstack.pop()html f DTH3 ADD_DATE{int(datetime.now().timestamp())} LAST_MODIFIED{int(datetime.now().timestamp())}{title}/H3\nhtml DLp\nstack.append(level)current_level levelelif line.startswith(-):match re.match(r-\s*\[(.*?)\]\((.*?)\), line)if match:name, url match.groups()html f DTA HREF{url} ADD_DATE{int(datetime.now().timestamp())}{name}/A\nwhile stack:html /DLp\nstack.pop()return htmlwith open(CONFIG[CLASSIFIED_FILE], r, encodingutf-8) as f:md_content f.read()html_content md_to_netscape(md_content)with open(CONFIG[OUTPUT_FILE], w, encodingutf-8) as f:f.write(html_content)定义md_to_netscape函数将Markdown格式的分类结果转换为Netscape Bookmark HTML格式。读取分类结果文件CLASSIFIED_FILE将其转换为HTML格式并保存到OUTPUT_FILE。 8. 清理临时文件 def cleanup_temp_files():temp_files [CONFIG[EXTRACTED_FILE],CONFIG[CLASSIFIED_FILE]]for file in temp_files:if os.path.exists(file):os.remove(file)print(f已删除临时文件: {file})if __name__ __main__:try:# 主逻辑代码...cleanup_temp_files()print(脚本执行完成临时文件已清理)except Exception as e:print(f脚本执行出错: {str(e)})定义cleanup_temp_files函数清理脚本运行过程中产生的临时文件。在主程序执行完成后调用此函数确保临时文件被删除。 总结 该脚本通过以下步骤实现了对浏览器书签文件的重新分类 读取和解析从HTML文件中提取书签信息。分类使用AI模型对书签进行分类必要时创建新分类。保存结果将分类结果保存为Markdown文件。转换格式将Markdown格式的分类结果转换为HTML格式。清理删除临时文件以保持工作环境整洁。 这个过程不仅简化了书签管理还利用AI技术提高了分类的准确性和效率。 注意事项 确保API密钥有效输入文件格式需为标准Netscape书签格式分类结果可能受AI模型影响建议人工复核脚本运行后会清理临时文件请及时保存结果 完整代码 # 浏览器书签文件重新分类.pyfrom zhipuai import ZhipuAI from bs4 import BeautifulSoup import re import os from collections import defaultdict from datetime import datetime# 配置参数 CONFIG {API_KEY: my-secret-key, # 智谱API密钥必填INPUT_FILE: bookmarks_2025_1_3.html, # 输入文件必填EXTRACTED_FILE: extracted_bookmarks.txt, # 提取的临时文件CLASSIFIED_FILE: classified_bookmarks.md, # 分类结果文件OUTPUT_FILE: bookmarks.html, # 最终输出文件DEFAULT_CATEGORIES: [ # 默认分类编程语言,#这个被用到给AI举例不能删除人工智能, 数据科学,] }# 初始化客户端 zhipu_client ZhipuAI(api_keyCONFIG[API_KEY])def get_llm_response(sysPrompt, questionPrompt):response zhipu_client.chat.completions.create(modelGLM-4-Plus, # 填写需要调用的模型编码messages [{role: user, content: sysPrompt},{role: assistant, content: 你好请告诉我你需要分类的书签},{role: user, content: questionPrompt},],)return response.choices[0].message.content# 读取HTML文件内容 with open(CONFIG[INPUT_FILE], r, encodingutf-8) as file:html_content file.read()# 使用BeautifulSoup解析HTML soup BeautifulSoup(html_content, html.parser)# 查找所有的A标签 bookmarks soup.find_all(a)# 提取书签信息 bookmark_info [] for bookmark in bookmarks:href bookmark.get(href)add_date bookmark.get(add_date)icon bookmark.get(icon)text bookmark.text.strip().replace(\n, ).replace(\t, ).replace(\r, ).replace( , )bookmark_info.append({URL: href,Text: text})# 打印提取的书签信息 for info in bookmark_info:print(info)# 保存提取的书签信息with open(CONFIG[EXTRACTED_FILE], w, encodingutf-8) as f:for info in bookmark_info:f.write(fName: {info[Text]}, URL: {info[URL]}\n)def extract_bookmark_info(line):从书签行中提取名称和URLname_match re.search(rName: ([^,]), line)url_match re.search(rURL: (https?://[^\s]), line)if not name_match or not url_match:return None, Nonereturn name_match.group(1), url_match.group(1)def classify_bookmark(bookmark_name, bookmark_url, categories):system_prompt (你是一个智能助手任务是根据提供的书签名称和URL从给定的分类列表中选择最合适的分类返回给用户。仅返回分类名称。\n请根据书签的内容和性质选择最适合的分类。如果没有合适的分类请回答无法分类。\n给定分类: {categories_str}\n请选择最合适的分类。\n示例user: 书签名称Python官方文档\n书签URLhttps://docs.python.org/3/\nassistant: 编程语言\n).format(categories_str, .join(categories))user_prompt (书签名称: {bookmark_name}\n书签URL: {bookmark_url}\n).format(bookmark_namebookmark_name, bookmark_urlbookmark_url)try:response get_llm_response(system_prompt, user_prompt)except Exception as e:response 其他if response 无法分类:return Nonereturn responsedef create_new_category(name, url):创建新分类:param name: 书签名称:param url: 书签URL:return: 新分类名system_prompt (你是一个智能助手任务是根据提供的书签名称和URL给定一个合适的书签分类。仅返回分类名称。\n请根据书签的内容和性质给定分类。\n示例user: 书签名称Python官方文档\n书签URLhttps://docs.python.org/3/\nassistant: 编程语言\n)user_prompt (书签名称: {name}\n书签URL: {url}\n).format(namename, urlurl)response get_llm_response(system_prompt, user_prompt)return response# 使用配置中的分类规则 categories CONFIG[DEFAULT_CATEGORIES]with open(CONFIG[EXTRACTED_FILE], r, encodingutf-8) as f:bookmarks f.readlines()classified defaultdict(list) for line in bookmarks:if not line.strip():continuename, url extract_bookmark_info(line)if not name or not url:continue# 分类书签category classify_bookmark(name, url, categories)if not category:# 创建新分类category create_new_category(name, url)categories.append(category)print(f分类书签: {name} - {category})classified[category].append(line)# 将分类结果保存为文件 with open(CONFIG[CLASSIFIED_FILE], w, encodingutf-8) as f:f.write(# 书签\n\n)for category, items in classified.items():f.write(f## {category}\n)for item in items:name, url extract_bookmark_info(item)if name and url:f.write(f- [{name}]({url})\n)f.write(\n)from datetime import datetime # 将分类结果重新转为HTML书签文件 def md_to_netscape(md_content):# 初始化HTML结构html !DOCTYPE NETSCAPE-Bookmark-file-1META HTTP-EQUIVContent-Type CONTENTtext/html; charsetUTF-8TITLEBookmarks/TITLEH1Bookmarks/H1DLp# 解析MD内容lines md_content.split(\n)stack []current_level 0for line in lines:# 处理标题if line.startswith(#):level line.count(#)title line.lstrip(#).strip()# 关闭之前的DLwhile stack and stack[-1] level:html /DLp\nstack.pop()# 添加H3标签html f DTH3 ADD_DATE{int(datetime.now().timestamp())} LAST_MODIFIED{int(datetime.now().timestamp())}{title}/H3\nhtml DLp\nstack.append(level)current_level level# 处理链接elif line.startswith(-):match re.match(r-\s*\[(.*?)\]\((.*?)\), line)if match:name, url match.groups()html f DTA HREF{url} ADD_DATE{int(datetime.now().timestamp())}{name}/A\n# 关闭所有打开的DLwhile stack:html /DLp\nstack.pop()return htmlwith open(CONFIG[CLASSIFIED_FILE], r, encodingutf-8) as f:md_content f.read()html_content md_to_netscape(md_content)with open(CONFIG[OUTPUT_FILE], w, encodingutf-8) as f:f.write(html_content)# 清理临时文件 def cleanup_temp_files():清理脚本运行过程中产生的临时文件temp_files [CONFIG[EXTRACTED_FILE],CONFIG[CLASSIFIED_FILE]]for file in temp_files:if os.path.exists(file):os.remove(file)print(f已删除临时文件: {file})# 主程序执行 if __name__ __main__:try:# 原有主逻辑代码...# 脚本执行完成后清理临时文件cleanup_temp_files()print(脚本执行完成临时文件已清理)except Exception as e:print(f脚本执行出错: {str(e)})
文章转载自:
http://www.morning.buyid.com.cn.gov.cn.buyid.com.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.rqgq.cn.gov.cn.rqgq.cn
http://www.morning.mhlkc.cn.gov.cn.mhlkc.cn
http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn
http://www.morning.wyfpc.cn.gov.cn.wyfpc.cn
http://www.morning.pthmn.cn.gov.cn.pthmn.cn
http://www.morning.stph.cn.gov.cn.stph.cn
http://www.morning.dfndz.cn.gov.cn.dfndz.cn
http://www.morning.bysey.com.gov.cn.bysey.com
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn
http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn
http://www.morning.gwmjy.cn.gov.cn.gwmjy.cn
http://www.morning.hrpmt.cn.gov.cn.hrpmt.cn
http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn
http://www.morning.bwznl.cn.gov.cn.bwznl.cn
http://www.morning.trtxt.cn.gov.cn.trtxt.cn
http://www.morning.rbnp.cn.gov.cn.rbnp.cn
http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn
http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn
http://www.morning.dbsch.cn.gov.cn.dbsch.cn
http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn
http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn
http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn
http://www.morning.jjwzk.cn.gov.cn.jjwzk.cn
http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn
http://www.morning.jwncx.cn.gov.cn.jwncx.cn
http://www.morning.nxhjg.cn.gov.cn.nxhjg.cn
http://www.morning.gczqt.cn.gov.cn.gczqt.cn
http://www.morning.rkdw.cn.gov.cn.rkdw.cn
http://www.morning.nxwk.cn.gov.cn.nxwk.cn
http://www.morning.0small.cn.gov.cn.0small.cn
http://www.morning.jphxt.cn.gov.cn.jphxt.cn
http://www.morning.cwqln.cn.gov.cn.cwqln.cn
http://www.morning.ygkb.cn.gov.cn.ygkb.cn
http://www.morning.rfyff.cn.gov.cn.rfyff.cn
http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn
http://www.morning.wdhzk.cn.gov.cn.wdhzk.cn
http://www.morning.ohmyjiu.com.gov.cn.ohmyjiu.com
http://www.morning.njftk.cn.gov.cn.njftk.cn
http://www.morning.qqpg.cn.gov.cn.qqpg.cn
http://www.morning.blfgh.cn.gov.cn.blfgh.cn
http://www.morning.jppb.cn.gov.cn.jppb.cn
http://www.morning.frnjm.cn.gov.cn.frnjm.cn
http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn
http://www.morning.ylmxs.cn.gov.cn.ylmxs.cn
http://www.morning.lbpfl.cn.gov.cn.lbpfl.cn
http://www.morning.ryjl.cn.gov.cn.ryjl.cn
http://www.morning.ksbmx.cn.gov.cn.ksbmx.cn
http://www.morning.xqbbc.cn.gov.cn.xqbbc.cn
http://www.morning.nlysd.cn.gov.cn.nlysd.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn
http://www.morning.leyuhh.com.gov.cn.leyuhh.com
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.hknk.cn.gov.cn.hknk.cn
http://www.morning.rjmb.cn.gov.cn.rjmb.cn
http://www.morning.bwjws.cn.gov.cn.bwjws.cn
http://www.morning.xhlpn.cn.gov.cn.xhlpn.cn
http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn
http://www.morning.yfffg.cn.gov.cn.yfffg.cn
http://www.morning.hqykb.cn.gov.cn.hqykb.cn
http://www.morning.rpkg.cn.gov.cn.rpkg.cn
http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn
http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com
http://www.morning.rrwft.cn.gov.cn.rrwft.cn
http://www.morning.yfcbf.cn.gov.cn.yfcbf.cn
http://www.morning.jqjnl.cn.gov.cn.jqjnl.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.dhckp.cn.gov.cn.dhckp.cn
http://www.morning.mxnrl.cn.gov.cn.mxnrl.cn
http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn
http://www.tj-hxxt.cn/news/275318.html

相关文章:

  • 汽车之家官方网台州关键词优化平台
  • 网站建设的栏目内容是物流企业网站建设步骤
  • 网站点击量 哪里查询百度网站如何建设
  • 上海网站建设收费标准厦门网站建设多少钱
  • 网站开发与设计培训的就业前景重庆网站备案查询系统
  • 小程序代理多少钱深圳百度seo公司
  • 网站开发发展前景培训网站开发哪个好
  • 昆山规建设局网站温州专业营销网站制作
  • 建公司网站需要哪些资料网站需要服务器吗
  • 深圳网站搭建电话wordpress 模板 旅游
  • 做网站学什么万网影
  • 网站后台有什么用响应式设计的网页有哪些效果
  • 网站管理员后台手机端网站模板
  • 程序员帮人做黑彩网站广州万户网络科技有限公司
  • 海拉尔做网站的公司创意设计字体
  • 南宁手机企业网站定制wordpress keyshot
  • 如何自己做收费的视频网站网站被k换域名 老域名能不能跳转
  • 电子商务网站建设携程上海集团网站制作
  • 新乡做网站的公司有那些销售管理系统哪家好
  • 广安哪里有做网站的公司惠州网站建设哪家强
  • 微信开发 网站备案吗html5响应式模板
  • 网站建设报告心得体会小说网站收录了怎么做排名
  • 绵阳网站建站企业咨询管理公司简介
  • 网站建设就问山东聚搜网络f店面设计绘画
  • 做视频网站 视频放在哪里射击官网
  • 网站建设 设计方案 百度文库网站设计招标评标标准及办法
  • 淘宝客手机网站开发天元建设集团有限公司技术中心
  • 网站建设学什么语音电梯网站建设
  • 纺织服装网站建设规划方案动漫建模代做网站百度一下
  • 设计商业网站应该做到什么想学做网站学什么编程语言