无论如何多线程pdf挖掘?
Anyway to multithread pdf mining?
我有一个代码在一堆 pdf 中寻找特定的字符串序列。问题是这个过程非常缓慢。 (有时我会得到超过 50000 页的 pdf)
有没有办法实现多线程?不幸的是,即使我进行了搜索,我也无法对线程代码做出正面或反面的判断
import os
import shutil as sh
f = 'C:/Users/akhan37/Desktop/learning profiles/unzipped/unzipped_files'
import slate3k as slate
idee = "123456789"
os.chdir(f)
for file in os.listdir('.'):
print(file)
with open(file,'rb') as g:
extracted_text = slate.PDF(g)
#extracted_text = slate.PDF()
# print(Text)
if idee in extracted_text:
print(file)
else:
pass
运行时间很长。我不认为这是代码错误,而是我必须浏览 700 多个 pdf 的事实
我建议使用pdfminer,你可以将文档对象转换成页面对象列表,你可以在不同的核心上进行多处理。
fp = open(pdf_path, "rb")
parser = PDFParser(fp)
document = PDFDocument(parser, password)
if not document.is_extractable:
raise PDFTextExtractionNotAllowed
laparams = LAParams() # set
resource_manager = PDFResourceManager()
device = PDFPageAggregator(resource_manager, laparams=laparams)
interpreter = PDFPageInterpreter(resource_manager, device)
all_attributes = []
list_of_page_obj = list(PDFPage.create_pages(document))
我有一个代码在一堆 pdf 中寻找特定的字符串序列。问题是这个过程非常缓慢。 (有时我会得到超过 50000 页的 pdf)
有没有办法实现多线程?不幸的是,即使我进行了搜索,我也无法对线程代码做出正面或反面的判断
import os
import shutil as sh
f = 'C:/Users/akhan37/Desktop/learning profiles/unzipped/unzipped_files'
import slate3k as slate
idee = "123456789"
os.chdir(f)
for file in os.listdir('.'):
print(file)
with open(file,'rb') as g:
extracted_text = slate.PDF(g)
#extracted_text = slate.PDF()
# print(Text)
if idee in extracted_text:
print(file)
else:
pass
运行时间很长。我不认为这是代码错误,而是我必须浏览 700 多个 pdf 的事实
我建议使用pdfminer,你可以将文档对象转换成页面对象列表,你可以在不同的核心上进行多处理。
fp = open(pdf_path, "rb")
parser = PDFParser(fp)
document = PDFDocument(parser, password)
if not document.is_extractable:
raise PDFTextExtractionNotAllowed
laparams = LAParams() # set
resource_manager = PDFResourceManager()
device = PDFPageAggregator(resource_manager, laparams=laparams)
interpreter = PDFPageInterpreter(resource_manager, device)
all_attributes = []
list_of_page_obj = list(PDFPage.create_pages(document))