Ich möchte ein paar Blogs spinnen und programmatisch ihre HTML- und CSS-basierten Layouts analysieren, um z.B. Wenn die Seitenleiste links oder rechts vom Hauptinhalt liegt, wie viele Spalten und wie breit sie sind.
Wie würde ich das am besten machen? Gibt es irgendwelche Werkzeuge oder Bibliotheken, die ich benutzen kann?
(Ich würde eine Lösung in Python oder PHP bevorzugen.)
Es scheint, als könnte dies über PhantomJS erreicht werden, mit einem Javascript, etwa so:
%Vor%Das klingt nach einer extrem harten Aufgabe, wenn Sie reines serverseitiges CSS und HTML-Parsing verwenden - Sie müssten die Rendering-Engine des Browsers effektiv neu erstellen, um zuverlässige Ergebnisse zu erhalten.
Je nachdem, wofür Sie das brauchen, könnte ich mir einen Weg vorstellen, der in etwa so aussieht:
Rufen Sie Seiten und Stylesheets mit etwas wie wget
mit --page-requisites
Dann entweder:
Gehen Sie jede heruntergeladene Seite mit einem Werkzeug wie Selenium durch, suchen Sie nach Elementnamen und geben Sie ihre Positionen aus (wenn das in Selenium, ich nehme an, es ist, aber ich weiß es nicht genau)
Erstellen Sie ein Stück jQuery, das Sie in jede der heruntergeladenen Seiten einfügen. Die jQuery sucht nach Elementen mit dem Namen "Sidebar", "Toolbar" usw., erhält ihre Positionen, speichert die Ergebnisse in einem lokalen AJAX-Snippet und fährt mit der nächsten heruntergeladenen Seite fort. Sie müssen nur die erste Seite im Browser öffnen, der Rest wird automatisch passieren. Nicht einfach umzusetzen, aber möglich.
Wenn Sie eine clientseitige Anwendungsplattform wie .NET verwenden können, ist es möglicherweise einfacher, eine benutzerdefinierte Anwendung zu erstellen, die ein Browsersteuerelement enthält, auf dessen DOM Sie freier zugreifen können, als nur jQuery zu verwenden.
Tags und Links python css php statistics