Code Monkey home page Code Monkey logo

gbyukg.github.com's People

Watchers

 avatar  avatar

gbyukg.github.com's Issues

wrap

from bs4 import BeautifulSoup
import itertools

wrapFile = "./.tmp/cheatsheets/bash/index.html"

def wrapH2(wrapEls):
    for wrapEls in h2s:
        els = [i for i in itertools.takewhile(lambda x: x.name not in [wrapEls.name, 'script'], wrapEls.next_siblings)]

        h2_section = soup.new_tag('div', **{'class':'h2-section'})
        h3_section_list = soup.new_tag('div', **{'class':'h3-section-list'})

        wrapEls.wrap(h2_section)

        for tag in els:
            h3_section_list.append(tag)

        h2_section.append(h3_section_list)

        # for tag in els:
        #     h2_section.append(tag)

def wrapH3(wrapEls):
    for wrapEls in h3s:
        els = [i for i in itertools.takewhile(lambda x: x.name not in [wrapEls.name, 'script'], wrapEls.next_siblings)]

        h3_section = soup.new_tag('div', **{'class':'h3-section'})
        body_section = soup.new_tag('div', **{'class':'cheatsheet-body'})

        wrapEls.wrap(h3_section)

        for tag in els:
            body_section.append(tag)

        h3_section.append(body_section)

with open(wrapFile, 'r', encoding='utf-8') as source:
    soup = BeautifulSoup(source)

    main = soup.find('article', class_="article") # None
    h2s = main.find_all('h2', recursive=False)
    h3s = main.find_all('h3', recursive=False)

    wrapH2(h2s)
    wrapH3(h3s)

with open(wrapFile, 'w', encoding='utf-8') as desc:
    desc.write(soup.prettify(formatter="None")) # 禁止转义 ⁢ 字符

print(soup.prettify())

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.