Python 爬取网页 PDF 文本

写在开头

问题:有时候会碰到有意思的研报/论文,为网页 pdf 文档,想要抓取其中的某些信息, 手动摘录的话,又太慢了;
问题存在的唯一意义就是 「解决它」;
简单记录下;

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import requests
from io import StringIO, BytesIO
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage import PDFPage

def get_score(url):
pdf_content = BytesIO(requests.get(url).content)
row = dict()
resource_manager = PDFResourceManager()
fake_file_handle = StringIO()
converter = TextConverter(resource_manager, fake_file_handle)
page_interpreter = PDFPageInterpreter(resource_manager, converter)
# 这里是在翻页
for page in PDFPage.get_pages(pdf_content,
caching=True,
check_extractable=True):
page_interpreter.process_page(page)
# 我这里只取了第一页
break
# 获取第一页的内容
text = fake_file_handle.getvalue()
# 这里做文本的处理即可
return text

写在结尾

摘录书里的一个小片段,每天学习一点点:

大约在我15岁的时候,我们全家去太阳谷滑雪;假期的最后那天,爸爸和我冒着风雪开车出去,他绕了十分钟的路去给我们开的那辆红色吉普车加油。当时他正争分夺秒地让我们全家能赶得上回家的飞机呢,所以到加油站后当我发现油箱里还有半箱油时,我感到很吃惊。我问爸爸,还有那么多汽油,我们为什么要停下来;他教导我说:“查理,你要是借了别人的车,别忘了加满油再还给人家。”

我在斯坦福念大一时,有个熟人把车借给我。倒不是因为他跟我关系很好,而是因为一个我们都认识的朋友迫使他这么做。那辆奥迪佛克斯是红色的,油箱里还有一半油。所以我想起了吉普车的事,先把油加满了,再将车还回去。他发现了。自那以后,我们共同度过了很多美好的时光,我结婚的时候,他是我的伴郎。

从斯坦福毕业之后,我才知道当年度假时我们住的是瑞克·格伦的房子,开的是瑞克·格伦的吉普。瑞克是爸爸的朋友,当他回到太阳谷,就算吉普车的汽油比他离开的时候少,他也自然不会介意,甚至可能都不会发现。但爸爸无论什么事情都做得公平和周到。所以那天我不仅学到了如何交朋友,还学到了如何维护友谊。

(✪ω✪)