我使用PhantomJS进行刮擦。我想知道下载URL的所有内容(包括图像,CSS和JS)并在本地保存以供浏览的可能性吗?
答案 0 :(得分:0)
# -*- coding: utf-8 -*-
from selenium import webdriver #for cookies collections after all AJAX/JS being executed
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36")
driver = webdriver.PhantomJS(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any', '--web-security=false'])
driver.set_window_size(1366,768)
driver.get('http://stackoverflow.com')
driver.page_source
这是使用Python Selenium + PhantomJS的完整代码,最后您有完整的页面源。
答案 1 :(得分:0)
我们可以使用evaluate()函数来获取内容。我在nodejs中使用它。
var webPage = require('webpage');
var page = webPage.create();
page.open('http://google.com', function(status) {
var title = page.evaluate(function() {
return document.title;
});
console.log(title);
phantom.exit();
});`
答案 2 :(得分:0)
在安装wget的情况下,此任务非常简单:
domain = "www.google.de"
from subprocess import call
call(["wget", "-mk", domain])