1
我寫一個基於通用硒phantomjs蜘蛛訪問和抓取網頁。 對程序的輸入包括需要爬取的模板(css選擇器),輸出應根據模板生成數據。 如果我們試圖從一個網站抓取的圖像有時我們可能會得到空的圖像(是這樣的話,如果網頁源代碼執行的時間不包括圖像),它可以要解決wait發生 然而更具挑戰性的問題時,網頁爲圖片提供佔位符,後者將通過ajax
請求替換爲實際圖片網址。硒PhantomJS等待圖像可用
的問題是,如何確保硒只有一次他們的真實URL被納入網頁抓取的圖像。我正在考慮檢查圖像的src
屬性以進行更改,並且只有在單次更改後才能開始解析頁面源。但是,不知道這是如何實現的?或者,如果這是一個好主意?
編輯
<html>
<head>
<style>
img {
width: 100%;
height: auto;
}
</style>
</head>
<body>
<div id='wrapper'>
<div class='wrapper-child'>
<img data-backup='./1clr.jpg' src='./1bw.jpg'>
</div>
<div class='wrapper-child'>
<img data-backup='./2clr.jpg' src='./2bw.jpg'>
</div>
<div class='wrapper-child'>
<img data-backup='./3clr.jpg' src='./3bw.jpg'>
</div>
</div>
<script src='./jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
// setTimeout(function() {
//replace image placeholders
$.get("ajax/test.html", function(data) {
}).always(function() {
$('img').each(function() {
$(this).attr('src', $(this).attr('data-backup'));
});
});
// }, 1000);
});
</script>
</body>
</html>
假設我有這個頁面,我該如何使用硒抓取jQuery的更新後的圖像?
感謝的建議,我一直在尋找到想要的是選項,但不真的很確定這一點。假設有鏈接的ajax請求,那麼即使會有額外的請求,「jQuery.active」可能會降爲零。此外,它真的可用於檢查'GET'圖像請求嗎? – Yerken
我相信如果交互是通過Ajax完成的,那麼該代碼可以幫助你。這真的取決於你想要颳去的網站... 關於你的問題,jQuery.active將不會是零,如果有一個積極的ajax調用據我所知。 – narko
普萊斯檢查我的編輯:)幫助真的appreaciated – Yerken