Cómo llamar a Ncapture para capturar páginas web en Nvivo
La esencia del análisis de páginas web es el procesamiento y análisis de cadenas. Por lo tanto, es necesario dominar las funciones y bibliotecas relacionadas con el procesamiento de cadenas y expresiones regulares, como la biblioteca tidy. Las expresiones regulares se utilizan para hacer coincidir un tipo de cadena, que es fácil de encontrar patrones y fácil de procesar. Además, las expresiones regulares son independientes del idioma y se pueden utilizar en cualquier idioma. No hay funciones relacionadas con expresiones regulares en la biblioteca C estándar. En términos generales, se utilizan dos bibliotecas de expresiones regulares en el lenguaje C: una es la biblioteca de expresiones regulares POSIX C y la otra es la biblioteca de expresiones regulares de Perl PCRE. PCRE es más poderoso que PCRE y usar la biblioteca POSIX C es suficiente.
Ejemplo de descarga del código fuente de una página web como texto plano sin etiquetas:
#include?lt;
#include?lt; buffio.hgt;
#include?lt;stdio.hgt;
#include?p>
#include?lt;stdio.hgt;
#include?p>
#include?lt;stdio.hgt;
#include?p>
p>
#include?lt;errno.hgt;
int?main(int?argc, ?char?**argv?)
{ const?char*? input?=? " lt;titlegt;Foolt;/titlegt;lt;pgt;Foo!"; TidyBuffer?output?=?{0}; TidyBuffer?errbuf?=?{0}; ; TidyDoc?tdoc?=?tidyCreate();?//Inicializar "documento" printf(?").Tidying:\ts\n",?input?); yes?);?//Convertir a XHTML if(?ok?) rc?=?tidySetErrorBuffer(?tdoc,&;errbuf?);?//Capturar resultados de diagnóstico if(?rc?gt;=? 0?) rc ?=?tidyParseString(?tdoc,?input?);?// Analizar la entrada if(?rc?gt;=?0?) rc?=?tidyCleanAndRepair(?tdoc?);? if(?rc ?gt;= ?0?) rc?=?tidyRunDiagnostics(?tdoc?);?//?Kvetch if(?rc?gt;?1?)?//Si ocurre un error, fuerce la salida.
(?tidyOptSetBool(?tdoc,?TidyForceOutput,?yes)rc?-1?); si (?rc?gt;=?0?) rc?=?tidySaveBuffer(?tdoc,?amp;salida?);?/ / ?Bonita?Imprimir if(?rc?gt;=?0?) { if(?rc?gt;=?0?) printf(?"\nDiagnóstico:\n\ns",?errbuf.bp?); printf (?" \n¿Y?aquí?es?el?resultado:\n\ns",?output.bp?); else printf(?"Se produjo un error(d) grave.\n",?rc ? tidyBufFree(? y; salida?); tidyBufFree(? y; errbuf?);