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中的字典容器
Apr 14 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
和孩子一起学习python之变量命名规则
May 27 Python
Python玩转PDF的各种骚操作
May 06 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
pytest中文文档之编写断言
Sep 12 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
Feb 20 Python
Python能做什么
Jun 02 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 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
用PHP来写记数器(详细介绍)
2006/10/09 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
js验证密码强度解析
2020/03/18 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
Python生成验证码实例
2014/08/21 Python
跟老齐学Python之Python安装
2014/09/12 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python for循环中的陷阱详解
2018/07/13 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
python日志logging模块使用方法分析
2019/05/23 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
运动会方队口号
2014/06/07 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
春季运动会开幕词
2015/01/28 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby