微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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('\n','')
print(course)
#关闭浏览器
driver.quit()

  结果:

 

 

  

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐