【发布时间】:2020-03-26 13:53:55
【问题描述】:
我正在尝试从网站上可用的 PDF 中获取数据
https://usda.library.cornell.edu/concern/publications/3t945q76s?locale=en
例如,如果我查看 2019 年 11 月的报告
https://downloads.usda.library.cornell.edu/usda-esmis/files/3t945q76s/dz011445t/mg74r196p/latest.pdf
我需要第 12 页上的玉米数据,我必须为期末库存、出口等创建单独的文件。我是 Python 新手,不知道如何单独抓取内容。如果我能弄清楚一个月,那么我可以创建一个循环。但是,我对如何处理一个文件感到困惑。
TIA,谁能帮帮我。
【问题讨论】:
-
如果页面在一个 PDF 中发送所有内容,那么您必须下载此文件,然后使用其他模块从 PDF 中获取数据。但这些模块与“抓取”无关。它们用词来描述
edit或extract。 -
我检查了这个页面,我看到了文件 txt、xls、xml 的链接 - 获取 txt 文件和处理文本会更容易 - 最终使用 xml 或 xls。
-
其实他们多年来都没有文本文件,这就是我想从PDF中提取的原因
-
使用
requests或urllib可以从服务器获取HTML,使用BeautifulSoup可以在HTML中找到指向PDF的链接,使用requests或urllib这些链接可以下载PDF格式。稍后您将不得不使用其他工具来处理 PDF。有模块PDFMiner、PyPDF2可以在 Python 中处理 PDF,但我没有这方面的经验。
标签: python web-scraping scrapy tabula pdf-scraping