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 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python与shell的3种交互方式介绍
Apr 11 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
学习python可以干什么
Feb 26 Python
jupyter notebook清除输出方式
Apr 10 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
浅析Python中的随机采样和概率分布
Dec 06 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翻页类
2009/06/01 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
js模拟类继承小例子
2010/07/17 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
Javascript数组循环遍历之forEach详解
2016/11/07 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
Python内置函数OCT详解
2016/11/09 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
python函数的作用域及关键字详解
2019/08/20 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Python while true实现爬虫定时任务
2020/06/08 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
秋季红领巾广播稿
2014/01/27 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
2016党校培训心得体会
2016/01/07 职场文书
高效课堂教学反思
2016/02/24 职场文书
python 模块重载的五种方法
2021/04/24 Python
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server
Redis数据同步之redis shake的实现方法
2022/04/21 Redis