目标:在我浏览时从一个站点收集所有图像。
我试过了:
即使设置了 cookie 并且所有标头都更改为模仿 Firefox,requests 和 wget 也不起作用。
Firefox 缓存有图像,但它们都有一个随机字符串作为名称。我需要逻辑名称来对它们进行排序。
selenium-wire 非常接近工作。当我执行 driver.get() 时,driver.requests 会按预期为我提供所有请求,然后可以保存这些请求。问题是当我单击站点上的按钮时,新请求不会添加到 driver.requests 中。我试过了:
driver = webdriver.Firefox()
driver.get("url")
while True:
time.sleep(1)
# browse site
for request in driver.requests:
if request.response:
if "image/jpeg" in request.response.headers['Content-Type']:
with open(request.url, 'wb') as f:
request.response.body