代码之家  ›  专栏  ›  技术社区  ›  Shashi Shankar Singh

使用python从现有的HTML链接创建新的HTML

  •  0
  • Shashi Shankar Singh  · 技术社区  · 8 年前

    我有一个HTML网页,我正在使用python脚本寻找它,需要使用现有的HTML脚本(HTML元素)创建一个新的HTML文档。有办法吗?我研究并找到了附加到现有文档中的方法,但没有找到如何从中创建新的HTML文档/页面。下面是代码段,蓝色的代码段是我要从中创建一个新的HTML页面。

    如有任何帮助,我们将不胜感激。

    enter image description here

    任何帮助都将不胜感激。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Shashi Shankar Singh    8 年前

    from selenium import webdriver
    import urllib.request,os,datetime
    from bs4 import BeautifulSoup
    
    options = webdriver.ChromeOptions()
    driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', chrome_options=options)
    driver.implicitly_wait(10)
    driver.get("https://mylink")
    elems = driver.find_elements_by_css_selector("[href*=PublicInfoServlet]") #finding the weblinks(html doc) I need to edit and create new html docs
    for elem in elems: #iterate through all the html weblinks found on the main webpage
        abc=elem.get_attribute("href")
        print(abc)
        page = urllib.request.urlopen(abc)
        soup = BeautifulSoup(page,'html.parser')
        a=soup.find("div", {"id": "SpanPrint"}) #identify the html tag that needs to be used to create the required html document
        efg = (abc.split("=", 1)[1])
        hig=(efg.split('&', 1)[0])
        f = open(str(hig)+'.html', 'w')
        message=str(a)
        f.write(message)
        f.close()
    
        # Change path to reflect file location
        x = str(datetime.date.today())
        b = str(datetime.datetime.now())
        c = x[0:10]
        d = b[11:19]
        e = str(c + d).replace(':', '')
        filename = 'mypath' +str(hig)+'.html' #saving the new doc at the required location.
        os.rename('mypath'.html',
                  'mypath' +str(hig) + e + '.html')
    driver.quit()