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

郑州高端建站计算机专业吃香吗

郑州高端建站,计算机专业吃香吗,网站制作xiu021,商业空间设计概述免责声明 文章仅做经验分享用途#xff0c;利用本文章所提供的信息而造成的任何直接或者间接的后果及损失#xff0c;均由使用者本人负责#xff0c;作者不为此承担任何责任#xff0c;一旦造成后果请自行承担#xff01;#xff01;#xff01; import os import re i…免责声明 文章仅做经验分享用途利用本文章所提供的信息而造成的任何直接或者间接的后果及损失均由使用者本人负责作者不为此承担任何责任一旦造成后果请自行承担 import os import re import sys import requests sys.path.append() from os.path import join, exists from urllib.request import urlretrieve from bs4 import BeautifulSoup, Tag, NavigableString, Comment class Parser(object):     def __init__(self, html,markdown_dir):         self.html html         self.soup BeautifulSoup(html, html.parser)         self.outputs []         self.fig_dir markdown_dir         self.pre False         self.equ_inline False         if not exists(self.fig_dir):             os.makedirs(self.fig_dir)         self.recursive(self.soup)     def remove_comment(self, soup):         if not hasattr(soup, children): return         for c in soup.children:             if isinstance(c, Comment):                 c.extract()             self.remove_comment(c)     def recursive(self, soup):         if isinstance(soup, Comment): return         elif isinstance(soup, NavigableString):             for key, val in special_characters.items():                 soup.string soup.string.replace(key, val)             self.outputs.append(soup.string)         elif isinstance(soup, Tag):             tag soup.name             if tag in [h1, h2, h3, h4, h5]:                 n int(tag[1])                 soup.contents.insert(0, NavigableString(\n #*n ))                 soup.contents.append(NavigableString(\n))             elif tag a and href in soup.attrs:                 soup.contents.insert(0, NavigableString([))                 soup.contents.append(NavigableString(]({}).format(soup.attrs[href])))             elif tag in [b, strong]:                 soup.contents.insert(0, NavigableString(**))                 soup.contents.append(NavigableString(**))             elif tag in [em]:                 soup.contents.insert(0, NavigableString(*))                 soup.contents.append(NavigableString(*))             elif tag pre:                 self.pre True             elif tag in [code, tt]:                 if self.pre:                     if not class in soup.attrs:                         language bash                      else:                         for name in [cpp, bash, python, java]:                             if name in .join(list(soup.attrs[class])): # code classprism language-cpp                                 language name                     soup.contents.insert(0, NavigableString(\n{}\n.format(language)))                     soup.contents.append(NavigableString(\n))                     self.pre False  # assume the contents of pre contain only one code                 else:                     soup.contents.insert(0, NavigableString())                     soup.contents.append(NavigableString())             elif tag p:                 if soup.parent.name ! li:                     # print(soup.parent)                     soup.contents.insert(0, NavigableString(\n))             elif tag span:                 if class in soup.attrs:                     if (katex--inline in soup.attrs[class] or                        katex--display in soup.attrs[class]): ## inline math                         self.equ_inline True if katex--inline in soup.attrs[class] else False                         math_start_sign $ if self.equ_inline else \n\n$$                         math_end_sign $ if self.equ_inline else $$\n\n                         equation soup.find_all(annotation, {encoding: application/x-tex})[0].string                         equation math_start_sign str(equation) math_end_sign                         self.outputs.append(equation)                         self.equ_inline False                         return             elif tag in [ol, ul]:                 soup.contents.insert(0, NavigableString(\n))                 soup.contents.append(NavigableString(\n))             elif tag in [li]:                 soup.contents.insert(0, NavigableString( ))             elif tag img:                 src soup.attrs[src]                 # pattern r.*\.png                 pattern r(.*\..*\?)|(.*\.(png|jpeg|jpg))                 result_tuple re.findall(pattern, src)[0]                 if result_tuple[0]:                     img_file result_tuple[0].split(/)[-1].rstrip(?)                 else:                     img_file result_tuple[1].split(/)[-1].rstrip(?)                 img_file join(self.fig_dir, img_file)                 urlretrieve(src, img_file)                 code ![{}]({}).format(img_file, img_file)                 self.outputs.append(\n code \n)                 return         if not hasattr(soup, children): return         for child in soup.children:             self.recursive(child) def html2md(url, md_file, with_titleFalse):     response requests.get(url,headers header)     soup BeautifulSoup(response.content, html.parser, from_encodingutf-8)     html     for child in soup.find_all(svg):         child.extract()     if with_title:         for c in soup.find_all(div, {class: article-title-box}):             html str(c)     for c in soup.find_all(div, {id: content_views}):         html str(c)     parser Parser(html,markdown_dir)     with open(md_file, w,encodingutf-8) as f:         f.write({}\n.format(.join(parser.outputs)))          def download_csdn_single_page(article_url, md_dir, with_titleTrue, pdf_dirpdf, to_pdfFalse):     response requests.get(article_url,headers header)     soup BeautifulSoup(response.content, html.parser, from_encodingutf-8)     title soup.find_all(h1, {class: title-article})[0].string  ## 使用 html 的 title 作为 md 文件名     title title.replace(*, ).strip().split()     md_file md_dir/title[0] .md     print(正在保存 Markdown File To {}.format(md_file))     html2md(article_url, md_file, with_titlewith_title) header {         Accept: application/json, text/plain, */*,         Accept-Language: zh-CN,zh;q0.9,en;q0.8,und;q0.7,         Connection: keep-alive,         Content-Type: application/json;charsetUTF-8,         User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) Safari/537.36,         x-requested-with: XMLHttpRequest         } special_characters {     lt;: , gt;: , nbsp: ,     #8203: , } if __name__ __main__:     article_url input(str(输入需要保存的csdn博客链接)) #csdn博客链接     markdown_dir ./ #保存文件夹     download_csdn_single_page(article_url,markdown_dir) 结语 没有人规定一朵花一定要成长为向日葵或者玫瑰。
http://www.hkea.cn/news/14407931/

相关文章:

  • 青岛网站建设网址宁波seo营销平台
  • 访问国外网站速度慢二级医院做网站
  • 免费网站安全软件大全游戏常州网站建设
  • 简单的seo网站优化排名管理咨询师资格证
  • 网站建设最好的网站百度百科
  • 美工培训网站建设部的网站首页
  • html5 jq做电脑网站wordpress调取文章列表
  • 医院做网站的意义网络平台推广运营
  • 手机网站如何开通微信公众号网站页眉尺寸
  • 建立html网站怎么找到精准客户资源
  • 专门做鞋子的网站有哪些中国设计师网效果图
  • 深圳建站企业包装设计公司哪个好
  • 成品网站w灬源码999交友南谯区城乡建设局网站
  • 公司域名是什么意思旅游企业seo官网分析报告
  • 哪个网站可以专门做超链接建立网站要怎么做
  • 企业网站的常见类型有什么企业营销型网站建设图片
  • 外贸行业建站怎么查看网站死链接
  • 天津网站建设代理商成都网站建设思乐科技公司
  • 淘宝天猫优惠券网站建设成都十大设计工作室
  • 在线音乐网站开发现状高端网站开发公开课
  • ppt成品网站外贸网站建设招聘
  • 酒店团购的网站建设坊子营销型网站建设
  • 如果快速做网站企业微信app下载
  • 带数据的网站长春市制作网站费用
  • 扬子科技网站建设短视频精准获客
  • 如何做自己的简历网站缅甸新闻最新消息
  • 网站建设一年多少多用户商城系统哪家好些
  • 网站被挂黑链怎么删除帮别人备案网站
  • 上海频道做网站怎么样wordpress后台反应慢
  • 网站改版了青岛网站开发设计