2016-07-18 9 views
0

Es tut mir leid, wenn dies eine Wiederholung ist. Ich sah etwas darauf, und dann konnte ich es nicht wieder finden.Node.js vs Python zum Parsen von HTML

als andere Einträge konkreter werden, sagen, ich habe:

<h1>Hey, there.</h1> 

h1 { 
    color: green 
} 

Ich will es ändern zu „blau“. Kann ich das effizienter/mit weniger Code/genauer/mit weniger Zeit mit Python oder Node.js machen?

Sagen, ich habe:

<h1>Hey, there1.</h1> 

Ist es einfacher, zu ändern "Hey, there1." zu "Hey, da2." mit Python oder Node.js?

Auch sagen, ich habe:

<h1>Hey, there.</h1> and want to add <a> tags so that it is: 

<h1><a href="">Hey, there.</a></h1> 

Das sind die drei Fälle, die ich denken kann. Ich versuche, einen Block von HTML-Tags und Inhalt in einen anders organisierten/Inhalt/CSS-HTML zu verwandeln.

Ich bin im Moment weder mit Python noch mit Javascript vertraut, und ich möchte nicht von Anfang an den falschen Weg gehen.

Ich denke auch darüber nach, eine Menge Aussagen zu finden/ersetzen, aber das ist nicht sehr elegant.

Vielen Dank für jede Hilfe/Einsicht.

+1

Ich denke, du stellst die falsche Frage. Wenn Sie nur daran interessiert sind, den Inhalt von Tags zu ändern, bezweifle ich, dass eine Entscheidung zwischen Python oder JavaScript wirklich wichtig ist. wählen Sie einfach, was auch immer Sie glücklicher macht. Die Wahl der Sprache spielt eine größere Rolle, wenn Sie mit der Implementierung zusätzlicher Funktionen wie der Integration in eine Datenbank oder etwas anderes beginnen. Lassen Sie Ihre * Anforderungen * Ihre * Entscheidungen * führen - nicht umgekehrt. –

+1

Sie sind beide nicht falsche Weg, aber Sie werden schließlich Javascript für das Web am Ende benötigen – YOU

+0

Wählen Sie die Sprache, die Sie mehr vertraut sind. Derjenige, für den Sie mehr Unterstützung bekommen können (wenn Sie in einem Team oder etwas arbeiten). – player87

Antwort

0

Glücklicherweise haben sowohl Python als auch Node raffinierte Werkzeuge dafür.

Da Sie gerade erst angefangen haben, stimme ich zu, dass die Frage, die Sie sich stellen sollten, lautet: "Was will ich daraus lernen?"

Es macht keinen Sinn, einen zu wählen, wenn Sie nur einen Scraper/Parser erstellen möchten. Denken Sie über Ihre langfristigen Ziele nach und überlegen Sie, wie Sie Ihre Fähigkeiten letztendlich gestalten möchten.

Dieser Vortrag beiseite, ich werde Sie in der nodejs Richtung zeigen, da (ich persönlich) denke, es ist eine viel einfachere Route, und wie andere gesagt haben, ist JavaScript die Sprache des Webs, wenn Sie planen, webdev/kratzen/was auch immer in der Zukunft, es ist sehr hilfreich.

Schritt eins: NodeJS

Knoten installieren, wie ich bin sicher, die Sie bereits haben (https://nodejs.org/en/), machen einen netten kleinen Ordner für dieses Projekt, CD in den Ordner und führen Sie diesen:

npm init

Es lässt Knoten wissen, dass dies ist, wo Sie arbeiten werden und es wird Ihre Pakete installieren (wenn npm in diesem Verzeichnis aufgerufen wird) hier.

Schritt zwei: die Pakete

Sie einen HTML-Parser mit einigen netten Features installieren möchten, empfehle ich cheerio da Sie die besten als auch ein bisschen jquery des Lernens (https://github.com/cheeriojs/cheerio) bekommen

npm install --save cheerio

Große, haben wir den Anfang eines Spaß-Projekt!

Schritt drei: main.js

Name it was Sie wollen, aber lässt eine JS-Datei mit

let http = require('http'), 
    cheerio = require('cheerio'); 

// 
// from cheerio docs 
// 
let $ = cheerio.load('<h2 class="title">Hello world</h2>') 

$('h2.title').text('Hello there!') 
$('h2').addClass('welcome') 

$.html() 
//=> <h2 class="title welcome">Hello there!</h2> 

//console log some changes and see the change from Hello world to Hello there! 
console.log($.html()); 

loslegen machen Es gibt keine richtige Antwort.

Wählen Sie, was immer Sie für Ihre Ziele halten.