Come estrarre il testo significativo da HTML
-
09-10-2019 - |
Domanda
Vorrei analizzare una pagina html e estrarre il testo significativo da esso. Chiunque conosce alcuni buoni algoritmi per fare questo?
I sviluppare le mie applicazioni on Rails, ma credo che Ruby è un po 'lento in questo, quindi penso che se esiste qualche libreria buono in c per questo sarebbe opportuno.
Grazie !!
PD: Si prega di non raccomandare nulla con java
UPDATE: Ho trovato questo testo del link
Purtroppo, è in python
Soluzione
Nokogiri , che è veloce e scritto in C , per Ruby.
(Utilizzo di espressioni regolari per analizzare le espressioni ricorsive come HTML è notoriamente difficile e soggetto a errori e non vorrei andare giù quel percorso . cito solo questo nella risposta in quanto questo problema sembra sorgere ancora e ancora.)
Con un vero e proprio analizzatore come per esempio Nokogiri di cui sopra, si ottiene anche il vantaggio che la struttura e la logica del documento HTML è conservato, e, a volte si ha realmente bisogno di questi indizi.
Altri suggerimenti
Soluzioni che integrano con Ruby
Soluzioni esterne
- Se è ben formato codice HTML, è possibile utilizzare il Expat XML Parser per questo.
- Per qualcosa di più mirato verso HTML-only, il W3C in realtà rilasciato il codice per il libwww , che contiene un semplice HTML parser ( documentazione ).
Lynx è in grado di fare questo. Questo è open source, se si vuole dare un'occhiata a questo.
Si dovrebbe togliere tutto parte ad angolo tra parentesi dal testo e poi crollare bianchi-spazi.
In teoria il <
e >
non dovrebbero essere lì in altri casi. Pagine contengono <
e >
ovunque al loro posto.
Collapsing spaziature:. Convertire tutti i TAB, ritorno a capo, ecc per gli spazi, quindi sostituire ogni sequenza di spazi in un singolo spazio
UPDATE:. E si dovrebbe iniziare dopo aver trovato il tag <body>