在使用requests请求一个页面上的元素时,有时会出现请求不到结果的情况
原因是我们想要的元素是经过js事件动态生成的
一般有两种方式可以拿到我们想要的内容
一、使用selenium模拟浏览器
二、分析网页请求
这里介绍第一种方法
首先安装selenium库
命令提示符输入:
pip install selenium
下载,配置webdriver(以chromdriver为例)
1、查看浏览器的版本
2、下载chromedriver
地址:http://npm.taobao.org/mirrors/chromedriver/
下载浏览器对应版本
下载对应系统对应版本(windows64位下载win32版本即可)
3、配置chromedriver
配置环境变量
路径为文件解压路径
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] 举报,一经查实,本站将立刻删除。