首页 > 其他分享 >保存完整HTML代码 保存部分HTML代码,及其他方法

保存完整HTML代码 保存部分HTML代码,及其他方法

时间:2023-09-02 16:44:50浏览次数:40  
标签:img get self 保存 content HTML htm print 代码

 print(driver.page_source) 
# 定位至节点
elem = driver.find_element(By.ID, "info")
htm_dat = elem.get_property("outerHTML")
print('获取节点的html源码:', htm_dat)
htm_name = elem.get_property("nodeName")
print('节点名称:', htm_name)
htm_type = elem.get_property("nodeType")
print('节点类型:', htm_type)
htm_ght = elem.get_property("clientHeight")
print('节点实际高度:', htm_ght)
htm_dth = elem.get_property("clientWidth")
print('节点实际宽度:', htm_dth)
htm_node_name = elem.get_property("parentNode").get_property("nodeName")
print('该节点的父节点.名称:', htm_node_name)
htm_next_htm = elem.get_property("nextSibling").get_property("outerHTML")
print('该节点的相邻的下一个节点.源码:', htm_next_htm)
from selenium.webdriver import Firefox, FirefoxOptions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

class ContentPageParser():
    def __init__(self, content_page_url) -> None:
        self.content_url = content_page_url # 抓取content_page_url页面上全部的图片url
        self.img_src = []                   # 保存当前页面上所有的图片url
    
    def visit_content_page_with_firefox(self):
        option = FirefoxOptions()
        # 设置浏览器为无头模式,使用过程中不会弹出浏览器页面
        option.headless = True
        self.driver = Firefox(options=option)
        try:
            # 打开待抓取的url页面
            self.driver.get(self.content_url)
            # 设置灵活等待,最长等待10s,轮询间隔为1s
            wait = WebDriverWait(self.driver, timeout=10, poll_frequency=1)
            # 使用css选择器进行元素定位,直到元素可见为止
            wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'img[class="showimg"]')))
            # 使用css选择器查找所有元素
            imgs = self.driver.find_elements(By.CSS_SELECTOR, 'img[class="showimg"]')
            # 提取所有图片的url
            for img in imgs:
                self.img_src.append(img.get_attribute('src'))
        except Exception as e:
            print(repr(e))
        finally:
            # 关闭webdriver
            self.driver.close() 
    
    def get_img_src(self):
        return self.img_src
    
if __name__ == '__main__':
    content_parser = ContentPageParser('https://xxx/content_48495.html')
    content_parser.visit_content_page_with_firefox()
    img = content_parser.get_img_src()
    print(img)

 

标签:img,get,self,保存,content,HTML,htm,print,代码
From: https://www.cnblogs.com/QQ-77Ly/p/17673872.html

相关文章

  • 学生信息管理系统代码分享 - C语言控制台程序
    【代码要求】   设计与实现学生信息管理系统,实现对学生信息的管理,并且学生的学号是代表该学生信息的唯一性标志。另外学生信息包括:学号、姓名、性别、班级、身份证号、出生日期、联系方式。   该系统具有以下几个功能:   1.系统界面美观、简洁,采用菜单式显示......
  • Node为nuxt.js 的源代码打包的执行命令
    为Node源代码打包的执行命令#清理缓存数据/root/.nvm/versions/node/v14.17.6/bin/npmcacheclean--force#删除之前使用过的插件模板文件等,若下面有.nuxt文件也一下做删除rm-rfnode_modulespackage-lock.json.nuxt#设置淘宝的npm源/root/.nvm/versions/node/v14.17......
  • 学生信息管理系统代码分享 - C语言控制台程序
    【代码要求】   设计与实现学生信息管理系统,实现对学生信息的管理,并且学生的学号是代表该学生信息的唯一性标志。另外学生信息包括:学号、姓名、性别、班级、身份证号、出生日期、联系方式。   该系统具有以下几个功能:   1.系统界面美观、简洁,采用菜单式显示......
  • 还不知道将代码上传到云端仓库?来gitee
    1、安装git工具https://git-scm.com/downloads 下载一个git 并安装,打开gitbash可用创建码云仓库https://gitee.com/ 注册一个账号https://git-scm.com/downloads新建仓库 来个demo,成功提示一些入门命令,这些命令可以直接在gitbash界面用,来试一下gitconfig--globalu......
  • Git上传代码到远程仓库
    前言Git是一种分布式版本控制系统,广泛用于管理项目的源代码。它可以追踪文件的修改、记录历史变更、协调多人合作开发,并提供了回滚、分支管理、合并等功能。下面介绍一下Git如何上传代码到远程仓库1.检查状态在提交代码之前,你可以使用gitstatus命令来查看当前仓库中的修改和文......
  • 无涯教程-Flutter - 代码测试
    测试是应用程序开发生命周期中非常重要的阶段,它确保了应用程序的高质量,测试需要仔细的计划和执行,这也是开发中最耗时的阶段。Dart语言和Flutter框架为应用程序的自动化测试提供了广泛的支持。通常,可以使用三种类型的测试过程来完全测试应用程序。它们如下-单元测试单元测试是......
  • HTML详解连载(5)
    (HTML详解连载(5))专栏链接link下面进行专栏介绍本专栏是自己学前端的征程,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记进行适当修改。希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写的代码进行建议,互相学习。开始喽行高:设置多行文本的间......
  • 打开文件,保存文件
    privatevoidShowNewForm(objectsender,EventArgse){FormchildForm=newForm();childForm.MdiParent=this;childForm.Text="窗口"+childFormNumber++;childForm.Show();}......
  • Flink 1.17教程:wordcount maven工程java代码示例(批、流实现方式)
    批、流实现wordcount代码示例pom.xml<properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><......
  • Java代码:flink wordcount代码示例及解读
    WordCountWordCountPojo.java代码packagewordCount;importorg.apache.flink.api.common.functions.FlatMapFunction;importorg.apache.flink.api.common.functions.ReduceFunction;importorg.apache.flink.api.java.DataSet;importorg.apache.flink.api.java.Executio......