python3+selenium获取页面加载的所有静态资源文件链接操作


Posted in Python onMay 04, 2020

软件版本:

python 3.7.2

selenium 3.141.0

pycharm 2018.3.5

具体实现流程如下,废话不多说,直接上代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

d = DesiredCapabilities.CHROME
chrome_options = Options()
#使用无头浏览器
chrome_options.add_argument('--headless')
chrome_options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36')
#浏览器启动默认最大化
chrome_options.add_argument("--start-maximized");
#该处替换自己的chrome驱动地址
browser = webdriver.Chrome("D://googleDever//chromedriver.exe",chrome_options=chrome_options,desired_capabilities=d)
browser.set_page_load_timeout(150)
browser.get("https://www.xxx.com")
#静态资源链接存储集合
urls = []
#获取静态资源有效链接
for log in browser.get_log('performance'):
	 if 'message' not in log:
			continue
	 log_entry = json.loads(log['message'])
	 try:
		#该处过滤了data:开头的base64编码引用和document页面链接
			if "data:" not in log_entry['message']['params']['request']['url'] and 'Document' not in log_entry['message']['params']['type']:
				urls.append(log_entry['message']['params']['request']['url'])
	 except Exception as e:
			pass
 print(urls)

打印结果为页面渲染时加载的静态资源文件链接:

[http://www.xxx.com/aaa.js,http://www.xxx.com/css.css]

以上代码为selenium获取页面加载过程中预加载的各类静态资源文件链接,使用该功能获取到链接后,使用其他插件进行可对资源进行下载!

补充知识:在idea 中python import sys,import requests 报错

File->Project Structure

project -> sdk -> new -> ok

设置编译参数(主要是设置和检查Python JDK是否正确)

python3+selenium获取页面加载的所有静态资源文件链接操作

以上这篇python3+selenium获取页面加载的所有静态资源文件链接操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
python实现网页自动签到功能
Jan 21 Python
Python实现Linux监控的方法
May 16 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
关于Django Models CharField 参数说明
Mar 31 Python
python mock测试的示例
Oct 19 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 #Python
python3 sleep 延时秒 毫秒实例
May 04 #Python
Python并发concurrent.futures和asyncio实例
May 04 #Python
Python 中由 yield 实现异步操作
May 04 #Python
python 双循环遍历list 变量判断代码
May 04 #Python
Python求解排列中的逆序数个数实例
May 03 #Python
Python3实现个位数字和十位数字对调, 其乘积不变
May 03 #Python
You might like
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
聊天室php&mysql(六)
2006/10/09 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
网页中的图片的处理方法与代码
2009/11/26 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
JavaScript多线程详解
2015/08/12 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
python write无法写入文件的解决方法
2019/01/23 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
中考标语大全
2014/06/05 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书