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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
深入理解Python中字典的键的使用
Aug 19 Python
python实现文本文件合并
Dec 29 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
python生成ppt的方法
Jun 07 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
对python:print打印时加u的含义详解
Dec 15 Python
pandas DataFrame 行列索引及值的获取的方法
Jul 02 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP遍历数组的几种方法
2012/03/22 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php检测url是否存在的方法
2015/04/14 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
PHP实现简易图形计算器
2020/08/28 PHP
常用jQuery选择器总结
2014/07/11 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
利用python开发app实战的方法
2019/07/09 Python
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
Weblogc domain问题
2014/01/27 面试题
施工安全协议书
2013/12/11 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
2015年教师节慰问信
2015/03/23 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android