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实现颜色rgb和hex相互转换的函数
Mar 19 Python
让Python代码更快运行的5种方法
Jun 21 Python
Python 中的 else详解
Apr 23 Python
遗传算法python版
Mar 19 Python
python读取Excel实例详解
Aug 17 Python
django Serializer序列化使用方法详解
Oct 16 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
详解Python中Pyyaml模块的使用
Oct 08 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
python基础之匿名函数详解
Apr 21 Python
Python中递归以及递归遍历目录详解
Oct 24 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基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
python框架django基础指南
2016/09/08 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
python dict如何定义
2020/09/02 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
2014年学习雷锋活动总结
2014/03/01 职场文书
自我鉴定书
2014/03/24 职场文书
财务担保书范文
2014/04/02 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
资料员岗位职责范本
2015/04/13 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript