码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Selenium获取网页数据(1)——环境配置及入门


    Selenium获取网页数据环境配置及入门

    【内容简介】

    1.selenium 介绍

    2.selenium +Python环境搭建

    3.使用selenium获取网页数据

    【知识点讲解】

    1.selenium 介绍

    selenium 是一个 web 的自动化测试工具。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。

    selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。

    官方文档:

    Selenium with Python — Selenium Python Bindings 2 documentation

    Selenium Documentation — Selenium 4.6 documentation

    2.selenium+Python环境搭建

    2.1安装selenium库

    和一般第三方库安装方法一样

     pip install selenium

    2.2安装特定浏览器的webdriver插件

    selenium需要通过浏览器的驱动程序(webdriver)来连接和启动一个浏览器。selenium支持谷歌、火狐、edge、欧朋等浏览器,这里以谷歌浏览器(chrome)为例进行讲解。

    (1)查看chrome浏览器版本

    点击chrome浏览器右上方的三个小圆点,如图1。

    点击“帮助”

    点击“关于 Google Chrome”,如图2所示。

     

     

    图1 点击chrome浏览器右上方的三个小圆点

      

    图2 查看chrome浏览器版本

    (2) 下载selenium webdriver插件

    登录chrome webdriver网站下载对应版本的 webdriver,如果没有相同的版本号,可以选择近似的版本,如下图所示。

    目前可以下载chrome的webdriver的地址:

    • http://chromedriver.storage.googleapis.com/index.html
    • https://registry.npmmirror.com/binary.html?path=chromedriver/

    选择Windows系统,64位也可以选择32位,如下图所示:

     

    2.3  配置环境变量

    将chromedriver.exe文件放置到python.exe解释器所在的文件夹内。

    (1)找到你的python.exe解释器所在的文件夹

    菜单:“文件”-“设置(settings)”,打开设置窗口

     

    (2)复制“chromedriver.exe”到文件夹

     

    2.4测试

    新建python文件,输入代码:

    from selenium import webdriver

    driver = webdriver.Chrome()

    显示下面浏览器窗口,模拟浏览器,说明环境配置成功

    3.使用Selenium获取网页数据

    可以读取所有看得到的所有数据(与requests.get不同)

    示例代码:

    from selenium import webdriver

    driver = webdriver.Chrome()                 # 打开chrome浏览器

    driver.get('https://www.ptpress.com.cn')

    # print(driver.page_source)

    with open('tmp/source.txt','w',encoding='utf-8') as f:

    f.write(driver.page_source)

  • 相关阅读:
    RabbitMQ入门到实战教程,MQ消息中间件,消息队列实战
    元素跟随鼠标移动
    Java测试(11) --- selenium
    免编译,运行单文件Java程序【JDK16+】
    MySQL的general日志
    java计算机毕业设计学生协会管理系统MyBatis+系统+LW文档+源码+调试部署
    【从零开始学习 SystemVerilog】8.17、SystemVerilog 约束—— Disable Randomization(关闭随机)
    Android系统稳定性简述
    Linux 网络性能的 15 个优化建议
    使用Hbuilder+Xcode打包iOS app前期准备
  • 原文地址:https://blog.csdn.net/rainysun/article/details/127853243
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号