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从sqlite读取并显示数据的方法
May 08 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
Python collections.deque双边队列原理详解
Oct 05 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
ftp类(example.php)
2006/10/09 PHP
PHP中,文件上传
2006/12/06 PHP
mysql5详细安装教程
2007/01/15 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
PHP session 会话处理函数
2016/06/06 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
医院义诊活动总结
2014/07/04 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
保险公司演讲稿
2014/09/02 职场文书
出纳试用期自我评价
2015/03/10 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL