Cómo resolver el problema de la lectura lenta de contenido PDF en Python
1. Introducción
Estaba leyendo el libro "Python Network Data Collection" por la noche y vi el código para leer contenido PDF. Recordé que Jisouke lo acababa de publicar hace unos días. Hace una regla de rastreo para rastrear el contenido PDF de una página web. Esta regla puede tratar el contenido PDF como HTML para el rastreo web. La magia se debe a la capacidad de Firefox para analizar PDF y convertir el formato PDF en etiquetas HTML, como etiquetas div, de modo que el software de rastreo web GooSeeker se puede utilizar para rastrear contenido estructurado como páginas web normales.
Esto plantea una pregunta: ¿Hasta dónde se puede lograr esto utilizando los rastreadores de Python? A continuación se describirá un proceso experimental y un código fuente.
2. Código fuente de Python para convertir pdf en texto
El siguiente código fuente de Python lee el contenido del archivo pdf (en Internet o localmente) y lo convierte en texto. fuera. Este código utiliza principalmente una biblioteca de terceros PDFMiner3K para leer PDF en una cadena y luego usa StringIO para convertirlo en un objeto de archivo. (Consulte la fuente de GitHub al final del artículo para conocer la dirección de descarga del código fuente)
desde urllib.request import urlopendesde pdfminer.pdfinterp import PDFResourceManager, Process_pdfdesde pdfminer.converter import TextConverter desde pdfminer.layout import LAParamsfrom io import StringIOfrom io import opendef readPDF( pdfFile):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
laparams = LAParams()
dispositivo = TextConverter( rsrcmgr, retstr, laparams=laparams)
process_pdf(rsrcmgr, dispositivo, pdfFile)
device.close()
contenido = retstr.getvalue()
retstr.close() devolver contenido
pdfFile = urlopen("/pages/warandpeace/chapter1.pdf")
outputString = readPDF(pdfFile)print(outputString)
pdfFile.close()
Si el archivo PDF está en su computadora, reemplace el objeto pdfFile devuelto por urlopen con un archivo open() normal. objeto.
3. Outlook
Este experimento solo convierte pdf en texto, pero no lo convierte en etiquetas html como se mencionó al principio. Entonces, ¿esta capacidad está disponible en el entorno de programación Python? Déjelo para futuras exploraciones.
4. Fuente de descarga del código fuente abierto de Jisouke GooSeeker
1. Fuente de GitHub del rastreador web Python de código abierto de GooSeeker
Historial de modificaciones de documentos
2016-05-26: V2.0, se agregó una descripción de texto
2016-05-29: V2.1, se agregó el Capítulo 6: Fuente de descarga del código fuente y se cambió la URL de la fuente de github