python3+selenium获取页面加载的所有静态资源文件链接操作

 更新时间:2020年05月04日 17:16:11   作者:举个栗子不容易  
这篇文章主要介绍了python3+selenium获取页面加载的所有静态资源文件链接操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

软件版本:

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获取页面加载的所有静态资源文件链接操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 数据挖掘之Apriori算法详解和Python实现代码分享

    数据挖掘之Apriori算法详解和Python实现代码分享

    这篇文章主要介绍了数据挖掘之Apriori算法详解和Python实现代码分享,本文先是对Apriori算法做了详细介绍,然后给出了Python版实现代码,需要的朋友可以参考下
    2014-11-11
  • python通过ElementTree操作XML

    python通过ElementTree操作XML

    这篇文章介绍了python通过ElementTree操作XML的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • matplotlib quiver箭图绘制案例

    matplotlib quiver箭图绘制案例

    这篇文章主要介绍了matplotlib quiver箭图绘制案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Flask中jinja2的继承实现方法及实例

    Flask中jinja2的继承实现方法及实例

    在本篇文章里小编给大家分享的是一篇关于Flask中jinja2的继承实现方法及实例,有兴趣的朋友们可以学习下。
    2021-03-03
  • python中的split、rsplit、splitlines用法说明

    python中的split、rsplit、splitlines用法说明

    这篇文章主要介绍了python中的split、rsplit、splitlines用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Django shell调试models输出的SQL语句方法

    Django shell调试models输出的SQL语句方法

    今天小编就为大家分享一篇Django shell调试models输出的SQL语句方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 基于Flask+websocket实现一个在线聊天室

    基于Flask+websocket实现一个在线聊天室

    在今天的互联网时代,实时通信成为了许多应用和服务的核心特色,在本文中,我们将介绍如何使用 Flask 和 Websockets 通过 Flask-SocketIO 框架创建一个简单的在线聊天室,感兴趣的可以跟随小编一起了解下
    2023-09-09
  • Python列表解析配合if else的方法

    Python列表解析配合if else的方法

    今天小编就为大家分享一篇Python列表解析配合if else的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 用Python实现校园通知更新提醒功能

    用Python实现校园通知更新提醒功能

    今天小编就为大家分享一篇用Python实现校园通知更新提醒功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Django 多语言教程的实现(i18n)

    Django 多语言教程的实现(i18n)

    这篇文章主要介绍了Django 多语言教程的实现(i18n),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论