爬虫 让网页自动化---selenium

   日期:2024-12-29     作者:o93v3      
核心提示:selenium: selenium 是python的一个强大的库,可以用几行代码,控制浏览器,做出自动打开,输入,

selenium:

selenium 是python的一个强大的库,可以用几行代码,控制浏览器,做出自动打开,输入,点击等操作,就像是有一个真正的用户在操作一样。

(1) 当遇到验证码很复杂的网站时,selenium允许让人去手动输入验证码,然后把剩下的操作交给机器。
(2)对于那些交互复杂,加密复杂的网站,selenium问题简化,爬动态网页如静态网页一样简单
(静态网页:HTML,网页源代码中就包含了所有信息,因此,网页地址栏的URL就是网页源代码的URL
动态网页:要爬取的数据不在HTML源代码中,而是在json中,不能直接使用地址栏的URL了,而需要找到json数据的真实URL,这种就是动态网页。

不论数据存在哪里,浏览器总是会向服务器发起各式各样的请求,当这些请求完成后,他们会一起组成开发者工具的Elements中所展示的,渲染完成的网页源代码。

安装selenium库

爬虫 让网页自动化---selenium

 

selenium的脚本可以控制所有常见浏览器的操作,在使用之前,需要安装浏览器的驱动。

浏览器驱动下载安装教程

Google浏览器驱动安装

设置浏览器引擎

 
 

获取数据

 

解析和提取数据

BeautifulSoup解析网页源代码,然后提取其中的数据。

selenium库同样也具备解析数据,提取数据的能力。它和BeautifulSoup的底层原理一致

他们俩的不同之处selenium所提取的是Elements中的所有数据,而BeautifulSoup所解析的则只是Network中第0个请求的响应。

用selenium把网页打开,所有信息就都加载到Elements那里,之后,就可以把动态网页用静态网页的方法爬取

 
 
 

WebElement类对象与Tag对象类似,它也有一个方法,可以通过属性名提取属性的值,这个方法是.get_attribute()

 

find_element_by_与BeautifulSoup中的find类似,可以提取出网页中第一个符合要求的元素;既然BeautifulSoup有提取所有元素的方法find_all,selenium也同样有方法。

除了用selenium解析与提取数据,还有一种解决方案,那就是使用selenium获取网页,然后交给BeautifulSoup解析和提取。

 
 
 
 
 

比如这个网页就有两个输入框,和一个提交按钮,就可以用

相关代码

 
 
 
 
 
 
 
 
 

以上这种设置方法可以让你看到浏览器的操作过程。
在本地的操作环境中,你还可以把自己电脑中的Chrome浏览器
设置为静默模式,也就是说,让浏览器只是在后台运行
并不在电脑中打开它的可视界面。
因为在做爬虫时,通常不需要打开浏览器,爬虫的目的是爬到数据
而不是观看浏览器的操作过程,在这种情况下,就可以使用浏览器的静默模式

     本文地址:http://w.yusign.com/tjnews/3561.html    述古往 http://w.yusign.com/static/ , 查看更多
 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0
 
更多>同类生活信息

相关文章
最新文章
推荐文章
推荐图文
生活信息
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号