zoukankan      html  css  js  c++  java
  • Python 使用selenium+webdriver爬取动态网页内容

    在使用requests请求一个页面上的元素时,有时会出现请求不到结果的情况

    审查元素时可以看到的标签,在页面源代码中却看不到

    原因是我们想要的元素是经过js事件动态生成的

    一般有两种方式可以拿到我们想要的内容

    一、使用selenium模拟浏览器

    二、分析网页请求

    这里介绍第一种方法

    首先安装selenium库

    命令提示符输入:

    pip install selenium

    下载,配置webdriver(以chromdriver为例)

      1、查看浏览器的版本

      2、下载chromedriver

        地址:http://npm.taobao.org/mirrors/chromedriver/

        下载浏览器对应版本

     

       下载对应系统对应版本(windows64位下载win32版本即可)

     

     

     

      3、配置chromedriver

      将下载的文件解压至chrome浏览器的安装路径下

     

     

     

      配置环境变量

      路径为文件解压路径

      

     

     

       

      4、使用selenium库请求访问网站就可以使用解析库来拿到我们想要的信息了

    例如,我们想要这个标题信息,右键审查元素查看代码

     

    from selenium import webdriver
    from bs4 import BeautifulSoup
    
    url = 'https://www.udemy.com/course/network-security-course/'
    #模拟浏览器请求网站
    driver = webdriver.Chrome()
    res = driver.get(url)
    doc = BeautifulSoup(driver.page_source, 'html.parser')
    course = doc.find('h1', class_='clp-lead__title').get_text().replace('
    ','')
    print(course)
    #关闭浏览器
    driver.quit()

      结果:

     

     

      

     

     
  • 相关阅读:
    CSS 之 伪类及伪元素
    php使用strlen()判断中文汉字字符串长度
    代码评审
    Windows下获取本机IP地址方法介绍
    c++ windows 获取mac地址
    Windows编译安装OpenSSL
    visio studio2008 删除最近的项目
    Windows中杀死占用某个端口的进程
    apache日志文件太大的问题
    text段,data段,bss段,堆和栈
  • 原文地址:https://www.cnblogs.com/chenchang-rjgc/p/12041165.html
Copyright © 2011-2022 走看看