前言
在当前竞争激烈的商业环境下,了解企业的财报情况对于投资者和企业分析师来说至关重要。巨潮网作为中国证券监管机构指定的信息披露平台,提供了大量的上市公司财报和公告信息。本文将介绍如何利用Python爬虫技术从巨潮网上爬取公司财报数据,并通过分析质押公告数据来洞悉企业的质押情况。
1. 数据爬取
首先,我们需要从巨潮网上获取财报公告的链接。我们使用Python的requests库向巨潮网发送POST请求,并设置相应的参数来获取数据。以下是爬取质押公告的示例代码:
# 代码片段1
import requests
from tqdm import tqdm
import time
def main():
url = r'http://www.cninfo.com.cn/new/hisAnnouncement/query'
urls = []
for num in tqdm(range(200)):
time.sleep(0.5)
form = {
'pageNum': num+1,
"pageSize": 30,
"column": "szse",
"tabName": "fulltext",
"plate": "",
"stock": "",
"searchkey": "质押",
"secid":"",
"category": "",
"trade": "制造业",
"seDate": "2022 - 01 - 01~2023 - 03 - 01",
"sortName":"",
"sortType": "",
"isHLtitle": "true"
}
resp = requests.post(url, json=form)
info = resp.json()
data = ['http://static.cninfo.com.cn/'+i.get("adjunctUrl") for i in info.get('announcements')]
urls.extend(data)
with open('pdf链接.txt', encoding='utf8', mode='w') as file:
for i in urls:
print(i, file=file)
if __name__ == '__main__':
main()
在上述代码中,我们通过发送POST请求获取到质押公告的链接,并将其保存在pdf链接.txt
文件中
2. PDF文件下载与内容提取
接下来,我们需要从质押公告的链接中下载PDF文件,并提取其中的文本内容。我们使用Python的PyPDF2
库来读取PDF文件,并使用requests
库下载PDF文件。以下是下载PDF文件并提取文本内容的示例代码:
# 代码片段2
import requests
from tqdm import tqdm
import PyPDF2
import pandas as pd
import os
def save_pdf():
with open('pdf链接.txt', encoding='utf8', mode='r') as file:
urls = [i.strip('\n') for i in file.readlines()]
result = []
for url in tqdm(urls):
resp_1 = requests.get(url)
with open('file.pdf', 'wb') as f:
f.write(resp_1.content)
# 读取PDF文件
pdf_file = open('file.pdf', 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)
# 提取PDF内容
text = ''
for page_number in range(len(pdf_reader.pages)):
text += pdf_reader.pages[page_number].extract_text()
result.append(text)
pdf_file.close()
os.remove('file.pdf')
# 将内容写入Excel
df = pd.DataFrame({'Content': result})
df.to_excel('output.xlsx', index=False)
if __name__ == '__main__':
save_pdf()
在上述代码中,我们首先从pdf链接.txt
文件中读取质押公告的链接,然后逐个下载PDF文件,并使用PyPDF2
库提取PDF文件中的文本内容。最后,我们将提取的内容保存到Excel文件中。
运行结果
结语
通过以上代码,我们可以轻松地从巨潮网上爬取公司财报数据,并通过分析质押公告数据来了解企业的质押情况。这为投资者和企业分析师提供了一个更全面的视角,帮助他们做出更明智的决策。
如果你觉得本教程对你有所帮助,不妨点赞并关注我的CSDN账号。我会持续为大家带来更多有趣且实用的教程和资源。谢谢大家的支持!