Web Yakalama ve Dönüştürme Araçları

Çekim yapmadan önce bir web sayfasının yüklenmesini beklemek nasıl?

Ana içerikten sonra yüklenen bir web sayfasındaki öğe

Bazı web sayfalarının yüklenmesi veya belirli içeriğe sahip olması biraz zaman alabilir intana sayfa yüklendikten sonra yüklenebilir. Bu, özellikle içeriğin JavaScript aracılığıyla yüklendiği AJAX ağır web sayfaları için geçerlidir.

GrabzIt, bir web sayfasının ne zaman yüklendiğini algılar ancak yukarıda listelenen belirli durumlardan bazıları için, yakalama alınmadan önce kullanılması gereken bir gecikme biçiminde veya yakalama gitmeden önce belirli bir HTML öğesinin görünmesini bekleyerek bazı ek talimatlara ihtiyaç duyar. ilerde. Bu teknikler, web sayfalarının ekran görüntülerini alıyorsanız veya HTML'yi dönüştürüyorsanız kullanılabilir. into PDF'ler, resimler veya Word belgeleri ve premium bir paketiniz var. Ancak her iki teknik de maksimum otuz saniyelik bekleme süresiyle sınırlıdır.

Çok büyük bir gecikme kullanmamak iyi bir fikirdir çünkü yakalamaların kuyruğa alınması gibi alışılmadık bir durumda, büyük bir gecikme yakalama önceliğini azaltacaktır; akıllıca çözümler buna.

Bu özellikler bizde de mevcuttur. çevrimiçi ekran görüntüsü ve web kazıyıcı araç sağlar.

Yakalama gerçekleştirmeden önce belirli bir süre nasıl beklenir?

Gecikmeyi milisaniye cinsinden belirtmeniz yeterlidir; yakalamanın ne kadar süre bekleyeceği budur. Bir saniyede 1000 milisaniye olduğunu unutmayın. Aşağıdaki örneklerin tümü, web sayfasını yakalamadan önce üç saniye bekler.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.Delay = 3000;
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.setDelay(3000);
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com", 
{"delay": 3000}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"delay":"3000"};
client.url_to_image("http://www.spacex.com", options);
client.save_to("images/result.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItImageOptions->new();
$options->delay(3000);
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("images/result.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setDelay(3000);
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo($filepath);
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.delay = 3000
grabzIt.URLToImage("http://www.spacex.com", options)
grabzIt.SaveTo("images/result.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&delay=3000&url=https%3A%2F%2Fspacex.com%2F
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::ImageOptions.new()
options.delay = 3000
grabzItClient.url_to_image("http://www.spacex.com", options)
grabzItClient.save_to("images/result.jpg")

Yakalama gerçekleştirmeden önce bir HTML öğesinin görünmesini nasıl beklerim?

Bu teknik özellikle içerik yüklemek için AJAX yöntemlerini kullanan web sayfalarında kullanışlıdır. Görünmesini beklemeniz gereken öğeyi tanımlamak, kimliğini, sınıfını not etmek veya daha karmaşık bir CSS seçici oluşturmak için öncelikle tarayıcınızın geliştirici araçlarını kullanın. O zaman bunu belirtin CSS seçici ve öğe görünür hale geldiğinde web sayfası yakalanır. Eşleşen birden fazla HTML öğesi varsa, biri görünür görünmez bunun da görüneceğini unutmayın.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.WaitForElement = "#Content";
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.setWaitForElement("#Content");
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com", 
{"waitfor": "#Content"}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"waitForElement":"#Content"};
client.url_to_image("http://www.spacex.com", options);
client.save_to("images/result.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItImageOptions->new();
$options->waitForElement("#Content");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("images/result.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setWaitForElement("#Content");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo($filepath);
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.waitForElement = "#Content"
grabzIt.URLToImage("http://www.spacex.com", options)
grabzIt.SaveTo("images/result.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&waitfor=%23Content&url=https%3A%2F%2Fspacex.com%2F
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::ImageOptions.new()
options.waitForElement = "#Content"
grabzItClient.url_to_image("http://www.spacex.com", options)
grabzItClient.save_to("images/result.jpg")

Bu teknik, ilk önce sözü edilen geciktirme yöntemiyle birlikte kullanılabilir. Bir HTML öğesinin görünmesini beklemenize ve ardından yakalamayı oluşturmadan önce bir süre daha beklemenize olanak tanır.