获取网页的html文本(用selenium+chrome headless进行js异步加载内容),返回BeautifulSoup的soup对象

2023-11-14

import requests
from bs4 import BeautifulSoup
from selenium import webdriver

def gethtml(url,js=False):
    if(js==False):
        return gethtml1(url)
    elif (js==True):
        return gethtml2(url)
    else:
        print(js参数错误)
        

def gethtml1(url):
   
    res=requests.get(url)
    res.raise_for_status()  
    r = res.text
    soup=BeautifulSoup(r,'html.parser')
    return soup

    
def gethtml2(url):
    browser = webdriver.Chrome()  # 调用本地的Chrome浏览器
    browser.get(url)  # 请求页面,会打开一个浏览器窗口
    v = browser.page_source  # 获得页面代码
    browser.quit()  # 关闭浏览器
    soup=BeautifulSoup(v,'html.parser')
    return soup

if __name__ == '__main__':
    url='https://www.baidu.com'
    print(gethtml(url))
    print(gethtml(url,js=False))
    print(gethtml(url,js=True))


                
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取网页的html文本(用selenium+chrome headless进行js异步加载内容),返回BeautifulSoup的soup对象 的相关文章

  • 如何破解Studio 3T (MongoDB可视化工具)

    首先新建一个记事本 写入如下内容 echo off ECHO 重置Studio 3T的使用日期 FOR f tokens 1 2 i IN reg query HKEY CURRENT USER Software JavaSoft Pref
  • MOS管漏电流产生的原因

    功耗是由漏电流引起的 尤其是在较低阈值电压下 了解MOS晶体管漏电流的六种不同原因 1 反向偏置pn结泄漏电流 在晶体管操作期间 MOS晶体管的漏极 源极和衬底结被反向偏置 因此 器件的漏电流被反向偏置 这种漏电流可能是由反向偏置区域中的少
  • windows自带磁盘修复命令chkdsk的使用方法

    在电脑使用过程会因突然断电或者是非正常关机等原因导致磁盘受损 这里介绍Windows系统自带chkdsk命令修复硬盘 2022 10 26补充 专业硬盘维修的朋友告诉我此命令不要随意使用 尤其硬盘已经有坏道 用该方法可能导致更严重的问题 大
  • python数据抓取中空格的影响

    在python数据抓取中 多一个空格或少一个空格 中间的差异的很大的 抓取一个网站 在定位后 只抓取前五行 无意中多了一个空格 数据一直不能正常显示 经过调试后 将空格去掉 定位的数据正常显示 如下
  • Matplotlib基本参数设置

    文章目录 Matplotlib基本参数设置 1 添加图标题 坐标轴标题 图例 2 添加坐标轴范围 画布网格 3 添加图形标注 4 改变横坐标和纵坐标上的刻度 ticks 5 中文支持相关设置 6 定义图形样式 Matplotlib基本参数设
  • python3集成matplotlib画图中文乱码的解决方法

    问题描述 在python中使用matplotlib画图 里面的中文会显示乱码方块 解决方法前提依赖 这是由于matplotlib默认使用的字体中不包含中文字符引起的 可以通过将中文字符加入到默认字体中解决 前提 查找本地都有哪些中文字体 打
  • 利用机器学习进行恶意代码分类

    原文链接 http drops wooyun org tips 8151 最近在Kaggle上微软发起了一个恶意代码分类的比赛 并提供了超过500G的数据 解压后 有意思的是 取得第一名的队伍三个人都不是搞安全出身的 所采用的方法与我们常见
  • IOC与DI总结

    编写流程 基于XML 导入jar包 4 1 gt beans core context expression commons logging 编写目标类 dao和service spring配置文件 IoC
  • Flutter获取屏幕及设备信息

    获取状态栏高度 import dart ui MediaQueryData fromWindow window padding top MediaQuery of context padding top 获取系统默认的AppBar等高度 位
  • web前端技术练习题

    选择题 1 以下哪个不属于Web前端开发的核心技术 A HTML C JavaScript B CSS D Java 2 关于HTML说法错误的是 A HTML标签的嵌套结构可以描述成一个网状结构 B 在 title 和 title 标签之
  • C语言字符型数据(一)—简单的恺撒密码

    首先声明 这些内容主要是面向C语言的初学者 尤其是正在学习C语言的学生 学习C语言的字符型数据时 首先需要记住两条重要特性 1 字符型数据存储的是字符的ASCII码值 2 由于ASCII码值本质上是一个整数 因此字符型数据可以像整数一样做加
  • MySQL行级锁、表级锁、页级锁详细介绍

    页级 引擎 BDB 表级 引擎 MyISAM 理解为锁住整个表 可以同时读 写不行行级 引擎 INNODB 单独的一行记录加锁 表级 直接锁定整张表 在你锁定期间 其它进程无法对该表进行写操作 如果你是写锁 则其它进程则读也不允许行级 仅对
  • python学习 - 存钱问题

    问题描述 父亲准备为小龙的四年大学生活一次性储蓄一笔钱 使用整存零取的方式 控制小龙每月月初取1000元准备这个月使用 假设银行整存零取的年息为1 71 请算出父亲至少需要存入多少钱才行 问题分析 这个问题是一个典型的递推问题 分析存钱和取
  • 蓝牙协议栈实现模式分析

    蓝牙协议栈实现模式分析 广州大学信息与机电工程学院 510405 邹艳碧 广州大学理学院 510405 吴智量 广州大学信息与机电工程学院 510405 李朝晖 摘要 蓝牙技术是未耒无线通信的一个重要的研究方向 本文主要介绍了蓝牙 技术的体
  • Matlab 仿真BPSK调制下传输的误码率

    BPSK Binary Phase Shift Keying 把模拟信号转换成数据值的转换方式之一 利用偏离相位的复数波浪组合来表现信息键控移相方式 我们可以用Matlab仿真其传输误码率 m文件内容如下 传输1000000个码 随机 1
  • 基于java springboot vue仓库管理系统源码(毕设)

    开发环境及工具 大于Jdk1 8 大于mysql5 5 idea eclipse vscode webstorm 技术说明 Springboot mybatis vue elementui 代码注释齐全 没有多余代码 适合学习 毕设 二次开
  • 优雅地测试Exception:@Rule

    使用 Rule测试Exception 导入库 import org junit Rule import org junit rules ExpectedException 声明错误期望对象 Rule public ExpectedExcep
  • javaweb项目总结思路

    JAVAweb项目思路指南 本次项目所用技术 第一章 需求 系统用户模块 员工管理模块 系统权限功能 第二章 数据库设计 创建数据库 用户表 员工表 第三章 架构选择 第四章 搭建系统开发 搭建系统开发环境 编写实体类 编写user实体类
  • 类和对象【默认成员函数】

    全文目录 类的6个默认成员函数 构造函数 特性 析构函数 特性 拷贝构造函数 特性 赋值运算符重载 运算符重载 赋值运算符重载 前置 和 后置 const 成员 取地址及const取地址操作符重载 类的6个默认成员函数 每个类不管有没有内容
  • Java进阶01:Hibernate教程

    1 什么是Hibernate Hibernate是一个开放源码的ORM Object Relational Mapping 对象关系映射 框架 它对JDBC进行了轻量级的封装 使得Java开发人员可以使用面向对象的编程思想来操作数据库 2

随机推荐

  • FISCO BCOS 和 WeBASE-Front 搭建联盟链

    一丶环境依赖 安装ubuntu依赖sudo apt install y openssl curl 安装centos依赖sudo yum install y openssl openssl devel 二丶创建操作目录cd mkdir p f
  • HTML案例设计(用户信息提交表单)

    最近学习了HTML语法知识 详见内容请戳此次HTML基础知识 遂做了此前端界面 比较简略 但是算对Web开发有了初步的认识 先放效果图出来 你的三连就是我创作的动力 HTML代码 本次知识点将会不定期补充 div align center
  • 智能学习

    智能学习 MATLAB实现CS BP多变量时间序列预测 布谷鸟搜索算法优化BP神经网络 目录 智能学习 MATLAB实现CS BP多变量时间序列预测 布谷鸟搜索算法优化BP神经网络 预测效果 基本介绍 程序设计 参考资料 预测效果 基本介绍
  • HTML静态页面获取url参数和UserAgent

    目录 前言 原因 解决 1 静态页面获取url的参数 2 取useragent的值 3 测试页面 前言 接技术支持小伙伴信 有用户反馈app在华为设备上下载不了 以为是服务器覆盖的范围不够或服务器挂了 直到另一个客服同事发来一个录屏 基本知
  • 自己写ArrayList后的心得

    源码分析 ArrayList应该是Java工具类中最简单的一个 它的内部实现是一个数组 在首次加入元素时 ArrayList会创建一个默认大小的数组 之后的添加 删除 查询操作都是对该数组进行操作 而我自己写的ArrayList则是和Lin
  • 记录错误:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: ‘E:\\CV_Paper_fuxian\\lesson\\B_VGG\\..\\Data\\tra

    撸代码发现错误 FileNotFoundError WinError 3 系统找不到指定的路径 E CV Paper fuxian lesson B VGG Data train 经过检查发现 是系统内文件夹名称设置错误 如果出现这样的错误
  • new与malloc

    1 属性 new delete是c 运算符 关键字 需要编译器支持 malloc free是库函数 需要头文件支持 2 参数 使用new操作符申请内存分配时无需指定内存块的大小 编译器会根据类型信息自行计算 而malloc需要显示的指出所需
  • java/php/net/python家庭财务管理系统设计

    本系统带文档lw万字以上 答辩PPT 查重 如果这个题目不合适 可以去我上传的资源里面找题目 找不到的话 评论留下题目 或者站内私信我 有时间看到机会给您发 管理员用例图 系统中的核心家庭是系统管理员 管理员登录后 通过管理员菜单来管理后台
  • 03. HTTP协议

    目录 HTTP协议 基本概念 请求 响应 请求头中最常见的 些重要内容 爬虫需要 响应头中 些重要的内容 请求方式 总结 HTTP协议 基本概念 协议 就是两个计算机之间为了能够流畅的进行沟通而设置的 个君子协定 常见的协议有TCP IP
  • firefly的使用

    https github com 9miao Firefly gitpython setup py install firefly admin py createproject myproject 就可以创建一个新的工程了 转载于 http
  • mac os 安装metasploit v5.0.23(msf)

    安装metasploit git clone https github com rapid7 metasploit framework git cd metasploit framework msfconsole 执行上面的命令时 报如下错
  • 台式机常见问题汇总

    1 第一步 必须安装硬盘 硬盘安装在中间 否则安装电源后 硬盘不好安装了 2 第二步 检查台式机的数据线 应该是给足的 3 开机启动后 电脑吱吱响 后来找到原因 硬盘四个固定角没有固定好 所以转起来震动噪音 4 硬盘安装时 用的螺丝是接触面
  • 太空狼人杀(Among US)只能QuickChat 更改年龄限制达到可以Free To chat方法

    Among us 不能自由聊天的解决方法 对于年龄数据被上传到服务器的账号 可能不适用 1 进入 C Users 你的账户名 AppData LocalLow InnerSloth Among Us playerPrefs 如果看不到App
  • centos 安装alien

    出处 http linux4you in install netapp oncommand system manger on centos 1 在root权限下执行命令 sudo su 2 安装alien需要的依赖包 yum y insta
  • springmvc源码学习(二十七)异步任务超时异常的执行流程

    目录 前言 一 示例 二 源码分析 总结 前言 本文分析异步任务出现超时及异常的情况时的处理流程 一 示例 设置超时时间为2s 但任务需要执行10s ApiOperation value test notes test GetMapping
  • zsh + oh-my-zsh 主题预览

    The Themes robbyrussell the default that Robby uses The rest of the themes in alphabetical order af magic afowler agnost
  • 区块链技术之哈希指针

    hello 大家好 我们第三期的区块链技术分享来啦 那么话不多说 我们开始吧 提起区块链 大家可能都会提到 不可篡改 但是为什么区块链不可篡改呢 先给出答案 这与区块链的数据结构哈希指针和默克尔树有关 那么我们今天先分享哈希指针相关的内容
  • cron linux_如何在Linux中使用cron

    cron linux 本文最初发布于2017年11月 现已更新以包含其他信息 成为系统管理员的挑战 其中有很多优点 之一是当您想睡觉时正在运行任务 例如 某些任务 包括定期重复执行的任务 需要在没有人使用计算机资源的情况下通宵运行或在周末运
  • 211和985区别:

    985工程 是在 211工程 的基础上 根据我国国防 民用 东 中 西部协调发展的原则而筛选出来的
  • 获取网页的html文本(用selenium+chrome headless进行js异步加载内容),返回BeautifulSoup的soup对象

    import requests from bs4 import BeautifulSoup from selenium import webdriver def gethtml url js False if js False return