2016-03-27 6 views
0

Ich versuche, eine Chrome-Erweiterung zu erstellen, um alle Website-Daten zu erfassen. In Tutorials spricht man oft davon, eine Seite zu "modifizieren", aber es scheint subtil zu implizieren, dass man keine ganze Seite bekommen kann.Erstellen einer Chrome-Erweiterung zum Abrufen aller Seiten HTML

Ich fand eine chrome API, die pageCapture ist, die ermöglicht, dass ALLE Ressourcen von einer Seite gespeichert werden. Ich gehe davon aus, dass ich den HTML-Code finden und danach crawlen kann - das ist nicht wünschenswert, da dafür viel mehr Platz und Overhead benötigt wird.

Ich würde es vorziehen, wenn es eine Möglichkeit gäbe, den aktiven Tab zu crawlen. The tab API können Sie die aktuelle Registerkarte abrufen, aber die aktuelle Registerkarte scheint kein Inhaltsattribut zu haben.

Es muss einen besseren Weg geben, das zu tun. Wer weiß, wie man den aktuellen HTML-Code bekommt?

+1

Mögliche Duplikat [den HTML-Quellcode der aktuellen Seite von Chrome-Erweiterung Erste] (http://stackoverflow.com/questions/11684454/getting-the-source-html-of-the-current -page-from-chrome-extension) –

+0

Ich sollte sagen, dass ich eine Content-Skript-Lösung für das Problem suche, ich werde aktualisieren, wenn ich es erstellt habe. – jQwierdy

Antwort

-1

Ich denke, diese Antwort wird Ihnen helfen: Loading html into page element (chrome extension)

Ich habe eine andere Lösung, die Sie helfen können, wenn Sie so wollen Sie die Websites in Chrome Lesezeichen speichern können, und dann alle Daten holen mit:

var uploadUrls_bm_urls =''; 
var uploadUrls_temp = ''; 
var maxUrls = "1000"; 

/* Fetch all user bookmark from browser */ 
/* @param object parentNode - the parent node of bookmark tree */ 

function fetch_bookmarks(parentNode) { 
    parentNode.forEach(function(bookmark) { 
     if(! (bookmark.url === undefined || bookmark.url === null)) { 
      uploadUrls_bm_urls = uploadUrls_bm_urls + '"' + bookmark.url + '",'; 
      if(uploadUrls_bm_urls.length <= maxUrls) 
       uploadUrls_temp = uploadUrls_bm_urls; 
     } 
     if (bookmark.children) { 
      fetch_bookmarks(bookmark.children); 
     } 
    }); 
} 

und nach, dass Sie alle über die Urls laufen können und die „Last“ Funktion wie in dem obigen Link (Loading html into page element (chrome extension) ) verwenden.

Lassen Sie mich wissen, ob dies Ihnen geholfen hat oder nicht.

Dank

Verwandte Themen