1. 소개
밤에 "Python Network Data Collection"이라는 책을 읽다가 PDF 콘텐츠를 읽는 코드를 본 것이 며칠 전에 Jisouke가 방금 웹 페이지 pdf를 공개한 것이 기억났습니다. 캡처. 콘텐츠 크롤링 규칙을 사용하면 이 규칙은 웹 페이지 크롤링을 위해 PDF 콘텐츠를 HTML로 처리할 수 있습니다. 이런 마법은 PDF를 구문 분석하고 PDF 형식을 div 태그와 같은 HTML 태그로 변환하는 Firefox의 기능 덕분에 GooSeeker 웹 크롤링 소프트웨어를 사용하여 일반 웹 페이지처럼 구조화된 콘텐츠를 크롤링할 수 있습니다.
이것은 Python 크롤러를 사용하여 어디까지 달성할 수 있는지에 대한 질문을 제기합니다. 실험 과정과 소스 코드는 다음과 같습니다.
2. pdf를 텍스트로 변환하는 Python 소스 코드
다음 Python 소스 코드는 (인터넷 또는 로컬에서) pdf 파일의 내용을 읽어서 텍스트로 변환하고 인쇄합니다. 밖으로 . 이 코드는 주로 타사 라이브러리 PDFMiner3K를 사용하여 PDF를 문자열로 읽은 다음 StringIO를 사용하여 이를 파일 개체로 변환합니다. (소스 코드 다운로드 주소는 기사 마지막에 있는 GitHub 소스를 참조하세요)
from urllib.request import urlopen from pdfminer.pdfinterp import PDFResourceManager, process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from io import StringIO from io import open def readPDF(pdfFile): rsrcmgr = PDFResourceManager() retstr = StringIO() laparams = LAParams() device = TextConverter(rsrcmgr, retstr, laparams=laparams) process_pdf(rsrcmgr, device, pdfFile) device.close() content = retstr.getvalue() retstr.close() return content pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf") outputString = readPDF(pdfFile) print(outputString) pdfFile.close()
PDF 파일이 컴퓨터에 있는 경우 urlopen에서 반환된 pdfFile 객체를 일반 open()으로 바꾸세요. 파일 객체.
3. Outlook
이 실험은 pdf를 텍스트로 변환만 하고, 처음에 언급한 것처럼 html 태그로 변환하지는 않습니다. 따라서 Python 프로그래밍 환경에서 이 기능을 사용할 수 있는지 여부는 아직 결정되지 않았습니다. 앞으로 탐험해 보세요.