python分析java网页_【求助】java 或者 python如何获取一个网站的所有请求

本文通过Python的selenium库,使用无头浏览器Chrome,模拟用户浏览网站并捕获性能日志,从而获取到网站的全部请求链接。通过解析性能日志,过滤掉data:开头的base64编码引用和document页面链接,最终得到静态资源链接集合。
摘要由CSDN通过智能技术生成

[Python] 纯文本查看 复制代码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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值