使用Selenium做爬虫小记

news/2024/7/19 10:08:58 标签: python, 爬虫, 测试

  以往,写爬虫的思路一般是用curl,urllib(python)或,HttpComponents(java)等发起request,然后读取response,用xpath,或者类js操作dom的方式获取需要的数据。

  然而当遇到那种将数据藏在js里面的情况,比如sina weibo中,好友信息都是放在script节点里,由js在client端动态append到页面上,如果要获取这种数据,那只有使用正则表达式了。

  直到我发现了个叫Selenium的自动化测试框架。可以通过程序启动,控制浏览器的行为。让我省去了写正则的时间。但缺点是框架非常重,效率很低。(毕竟他原本是用来做自动化测试的。。)

  然而最近有一个需求,需要截取浏览器上的ajax请求。因为ajax请求是js发起的。我有2种方法。

1,读前台js代码,根据需要自己拼出想要的请求。(这方法针对没有加密过的js,和简单的需求适用)

2,用selenium启动浏览器,(我这里用chrome),然后写chrome插件,(chrome 有个API可以对request进行过滤。https://developer.chrome.com/extensions/webRequest.html  )截获指定的request。然后将此url,append到前台页面。

3,用selenium获取插件append的节点。捕获请求。

 

附,此方法适用于那种 对request的时间要求及频度不太高的情况。或者说 request相对来说不会成为瓶颈的情况。比如用此方法捕获xx视频网站的真实地址xxx.flv xxx.mp4 ,此时下载视频的耗时必定远远大于用selenium获取视频地址的时间。此时相当适合啊。。

 

 

转载于:https://www.cnblogs.com/Lelpuchcr/p/3266800.html


http://www.niftyadmin.cn/n/1070609.html

相关文章

免费屏幕录像软件哪个好?简单几步教你快速录制无水印的高清视频!

不论是做自媒体的视频(比如游戏解说,游戏经验分享),还是录制微课、网络直播视频等等需求,大家对录制视频的需求越来越大了。那么,想要快速录制一个没有水印的高清视频,到底怎么具体操作&#xf…

深入浅出MySQL(一) Mysql里面经常用到的函数总结

在Mysql里面count,max,sum,avg,这些都是一些经常用到的函数,但是除了这些以外,今天我们来了解一些别的函数。 字符串类型函数 1.Concat函数: select CONCAT(“aaa”,”bbb”,”ccc”) as fin…

记可敬可佩的老车同志

老车同志,真名卢俊文,辽宁本溪人,年近五旬,现在供电公司做抄电表员,业余利用洪恩视频教学软件学习c语言。   与老车同志相识不到一周,然其可敬可爱之处甚多。我已近而立之年,然尚未立业&#…

抖音怎么上传照片图集?抖音照片视频怎么制作?大神教你轻松搞定!

抖音怎么上传照片图集?抖音照片视频或照片图集怎么制作?现在抖音上很多那种照片或图片做成的短视频,主题好,有音乐,还有文字或好看的切换效果。今天就请大神来教大家简单几步,轻松做一个好看的抖音照片图集…

深入浅出MySQL(二) 查询技巧

今天这篇文章主要是来讲解一些mysql高级查询技巧方面的内容:时间宝贵,现在我们直接进入主题: 技巧1:union和union all联表查询 Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例…

数据恢复

数据恢复学习相关网站 http://www.intohard.com 硬盘基地,比较早点老牌 交流论坛,现在管理不是很好,很多无谓的帖子。 http://www.yuhedata.com 雨荷数据,老牌数据恢复交流论坛。 http://www.chs163.com CHS数据实验室&#x…

章节十六、10-TestNG报告和日志

一、在进行自动化的过程中,日志一般采用log4j 2进行日志记录,但TestNG自己本身也带有日志记录功能(reporter),它的好处在于日志中记录的内容都是testng自动生成的。 1 package testclasses1;2 3 import org.testng.ann…

怎么制作电子相册视频?简单几步,快速制作精美的高清效果

现在随手拍照记录生活,已经是见惯不怪的分享方式。当拍了许多值得纪念的照片时,如果把照片做成电子相册视频,不仅可以永久保留新鲜的回忆,还能直接分享到社交平台。 怎么制作电子相册视频?有什么快速又简单的方法能做…