Ich versuche, eine Website zu sichern, die Seiten mit einem Tag wie diesem enthält:
<a id="12379-video"></a>
</div>
<script>
jwplayer("12379-video").setup({
file: "http://xyz.cloudfront.net/abc/moviename.mp4",
flashplayer: "/sites/all/jwplayer/player.swf",
stretching: "exactfit",
height: 480,
width: 640 });
</script></span>
</div>
Hat
wget
extrahieren Sie die URL und folgt? (Und was sind die richtigen Parameter für den Befehl?)Was genau verwendet der Mechanismus
wget
zum Parsen der abgerufenen Datei, um die URLs zu extrahieren?Gibt es eine Möglichkeit, dem Parser mitzuteilen, dass auch dieses Tag berücksichtigt werden soll? (mit regulären Ausdrücken oder ähnlichem)
Welche anderen Strategien schlagen Sie vor, falls dies nicht möglich ist? (Skripten mit
grep
oder mit anderen unter Verwendung von Bash)
Antworten:
Es gibt
-p
/--page-requisites
parameter (mit-r
zusammen), mit dem die meisten externen URLs heruntergeladen werden, die für die ordnungsgemäße Anzeige einer bestimmten HTML-Seite erforderlich sind (sofern sie nicht in der Robots-Datei ausgeschlossen sind).Mehr dazu können Sie im Handbuch (
man wget
) nachlesen :Beachten Sie, dass Wget eine interne Tabelle mit HTML-Tags / Attribut-Paaren hat, die bei der Suche nach verknüpften Dokumenten während eines rekursiven Abrufs berücksichtigt werden. Verwenden Sie
--follow-tags=list
(durch Kommas getrennte Liste) gegenüber von, um eine hinzuzufügen--ignore-tags=list
.Diese Liste von Tags ist wahrscheinlich in definiert
html-url.c
und sieht folgendermaßen aus:quelle