动态网页抓取(selenium、firefox浏览器如何抓取、css?动态网页抓取)

优采云 发布时间: 2021-11-20 16:00

  动态网页抓取(selenium、firefox浏览器如何抓取、css?动态网页抓取)

  动态网页抓取1.javascript中的httppost拿js文件-javascript中的httppost拿js文件-神生社区-博客园2.httpget:其它javascript代码3.selenium4.webdriver

  最笨拙的方法就是用firebug,可以很方便的抓取js、css、图片等静态资源。js、css文件通常是加密存储在http服务端,本地看不见、改不了,所以只能抓取,但抓取效率没法看。selenium之前webdriver在做抓取的时候遇到这个问题,然后自己动手写了一个解决方案。firefox、safari浏览器的postinfo、document.cookie等都是动态获取的,所以我们是不可能抓取js的,抓取css文件没问题,但图片就有点难了。

  safari、firefox浏览器如何抓取js、css?有没有可以抓取js文件的浏览器呢?有的。chrome浏览器自带的webdriver是可以抓取js文件的,通过设置monitoring选项卡里的#location.href,它可以指定浏览器的地址,让浏览器自动给出js代码。ie、火狐这些浏览器也可以抓取js文件,但是需要额外的设置。

  怎么设置呢?在插件的设置界面,找到selenium-->options-->plugins,按下图上所示去设置,就可以使用webdriver抓取js、css了。但是document.cookie是不可以抓取的,这也是selenium抓取不了css、js文件的原因。但我又发现,如果不做相应设置的话,document.cookie是可以抓取静态资源的,我通过如下设置设置一下即可:我先把ie浏览器调成默认页面(兼容模式),然后根据页面上的路径,在browser中按下f12,选择network(然后找到browser.session.cookie.js),点击meta,这样就可以查看到该js的链接了。

  直接在firefox中访问,就会抓取一段js代码。但由于selenium抓取是随机顺序抓取的,此时自动抓取browser.session.cookie.js页面,因此会无法抓取链接中的js代码。解决方案:给此页面设置offset和maximum-page-size,如设置offset是1024,maximum-page-size就是1,就可以抓取这页所有js代码。推荐在ie浏览器设置offset和maximum-page-size。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线