集搜客网页抓取软件(神奇之处要归功于Firefox解析PDF的抓取网页pdf内容的规则 )
优采云 发布时间: 2022-04-06 11:11集搜客网页抓取软件(神奇之处要归功于Firefox解析PDF的抓取网页pdf内容的规则
)
1、简介
晚上看了《Python网络数据采集》这本书,看到了阅读PDF内容的代码。记得前几天Jisouke刚刚发布了一个抓取网页PDF内容的抓取规则。 ,此规则可以将 pdf 内容视为 html 进行网页抓取。神奇之处在于Firefox解析PDF的能力,可以将pdf格式转换成html标签,比如div标签,让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、展望
这个实验只是把pdf转成文本,并没有像开始说的把它转成html标签,所以Python编程环境中是否有这样的能力留待以后探索。
4、Jisouke GooSeeker开源代码下载源码
GooSeeker 开源 Python 网络爬虫 GitHub 源码
5、文档修改历史
如有疑问,或