许久未更新,来踩个脚印~~

笔记是在巨潮资讯上爬取上市公司的招股说明书,如果要爬取别的,可以更换关键词

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/11/2 22:53
# @Author  : Claire
# @File    : 爬取上市公司招股说明书-巨潮.py
# @Software: PyCharmimport requests
import json
import os
import urllib.parse
import pprint
import urllib.request# 创建说明书保存路径-data
try:os.mkdir('./data')
except:pass# 创建存储的文件和字典
f_succ = open('./data/urls.csv','w',encoding="utf-8")
f_PDF = open('./data/stk_PDF.csv','w',encoding="utf-8")
f_lose = open('./data/stk_lose.csv','w',encoding="utf-8")
urldict={}    # 存储url的字典# 获取上市公司股票代码
stks = open('stkcd.csv','r',encoding="utf-8")# 访问网址,获取招股说明书url
for stk in stks:stkcd = str(stk).zfill(7).replace('\n', '').replace('\r', '').replace('\uFEFF', '')print(stkcd)# 发送查询请求,获取响应# 网页网址:http://www.cninfo.com.cn/new/fulltextSearch?notautosubmit=&keyWord=603213%20%E6%8B%9B%E8%82%A1%E8%AF%B4%E6%98%8E%E4%B9%A6# 存储数据网址:http://www.cninfo.com.cn/new/fulltextSearch/full?searchkey=603213+招股说明书&sdate=&edate=&isfulltext=false&sortName=pubdate&sortType=desc&pageNum=1headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36','Cookie':'JSESSIONID=BC620348EF0877559E75F78A04B3E3B9; cninfo_user_browse=301040,gfbj0833879,%E4%B8%AD%E7%8E%AF%E6%B5%B7%E9%99%86; _sp_ses.2141=*; insert_cookie=45380249; routeId=.uc2; SID=d8b4d86a-a298-4a59-8651-6bc86e886302; _sp_id.2141=2932aeb7-c4b3-4c5c-9618-aeaf7c07a1b9.1635838728.2.1635853694.1635840276.2dca209a-da35-42a1-967f-477bfe068f00'}keyword = urllib.parse.quote('招股说明书')  # 查找招股说明书,可修改关键词url = 'http://www.cninfo.com.cn/new/fulltextSearch/full?searchkey='+stkcd + '+' + keyword + '&sdate=&edate=&isfulltext=false&sortName=pubdate&sortType=desc&pageNum=1'# print(url)response = requests.get(url,headers=headers)content = response.content.decode(encoding='utf-8')dict = json.loads(content)# print(dict)try:for i in dict['announcements']:if '摘要' not in i['announcementTitle']:if '和路演公告' not in i['announcementTitle']:if '附录' not in i['announcementTitle']:if '事宜' not in i['announcementTitle'] :if '确认意见' not in i['announcementTitle']:if 'H股' not in i['announcementTitle']:if '确认函' not in i['announcementTitle']:if '增发' not in i['announcementTitle']:print(i['announcementTitle'])# 获取url# http://static.cninfo.com.cn/finalpage/2021-10-29/1211425539.PDFurl = 'http://static.cninfo.com.cn/'+i['adjunctUrl']# print(url)secname = i['secName'].replace('*', '')date = i['adjunctUrl'][10:20]#存储找到的urlif 'PDF' in url:urldict.update({stkcd + '-' + secname + '-' + date: url})csv_write = stkcd + ',' + secname + ',' + date + ',' + url + '\n'f_succ.write(csv_write)else:stk_PDF = stkcd + '\n'print(stkcd + 'PDF格式的文件未找到')f_PDF.write(stk_PDF)# 存储未找到的stkcd,方便再次循环except:stk_lose = stkcd + '\n'print(stkcd+'查询失败')f_lose.write(stk_lose)pprint.pprint(urldict)
f_succ.close()
f_PDF.close()
f_lose.close()# 根据解析出的pdf地址下载到output,并重命名成有规律的文件
for name in urldict:url=urldict[name]response = urllib.request.urlopen(url)file = open('./data/'+name+".pdf", 'wb')file.write(response.read())file.close()print(name)

最后,希望11月有好好背单词,并且最重要的是要开心,顺利,进步

python爬虫 | 爬取巨潮资讯上的上市公司招股说明书相关推荐

  1. python 爬虫 requests+BeautifulSoup 爬取巨潮资讯公司概况代码实例

    第一次写一个算是比较完整的爬虫,自我感觉极差啊,代码low,效率差,也没有保存到本地文件或者数据库,强行使用了一波多线程导致数据顺序发生了变化... 贴在这里,引以为戒吧. # -*- coding: ...

  2. python3爬取巨潮资讯网站年报数据

    python3爬取巨潮资讯网站年报数据 2018年年底巨潮资讯http://www.cninfo.com.cn改版了,之前实习生从网上找的脚本不能用了,因此重新修改了下爬取脚本.最初脚本的原链接忘了, ...

  3. python3爬取数据_python3爬取巨潮资讯网站年报数据

    python3爬取巨潮资讯网站年报数据 2018年年底巨潮资讯http://www.cninfo.com.cn改版了,之前实习生从网上找的脚本不能用了,因此重新修改了下爬取脚本.最初脚本的原链接忘了, ...

  4. python3爬取巨潮资讯网的年报数据

    python3爬取巨潮资讯网的年报数据 前期准备: 需要用到的库: 完整代码: 前期准备: 巨潮资讯网有反爬虫机制,所以先打开巨潮资讯网的年报板块,看看有什么解决办法. 巨潮咨询年报板块 可以通过这样 ...

  5. 巧用selenium爬取巨潮资讯公司数据

    巧用selenium爬取巨潮资讯公司数据 立项背景:在做深度学习的过程中利用python进行建模,需要数据来训练模型. 项目目标:通过运用python的selenium模块,爬取巨潮资讯网站关于公司的 ...

  6. selenium爬取巨潮资讯指定领域下所有上市公司的数据并存储到csv文件

    selenium爬取巨潮资讯指定领域下所有上市公司的数据并存储到csv文件 from selenium.webdriver import Chrome #引入selenium中的Chrome from ...

  7. 批量爬取巨潮资讯网中“贵州茅台”相关公告的PDF文件。

    1 需求 批量爬取巨潮资讯网中"贵州茅台"相关公告的PDF文件. 2 代码实现 import reimport requests from selenium import webd ...

  8. 基于python+selenium+Chrome自动化爬取巨潮资讯网A股财务报表

    转自同学的博客 引言: 网页爬虫分为静态网页爬虫和动态网页爬虫,前者是指索要获取的网页内容不需要经过js运算或者人工交互, 后者是指获取的内容必须要经过js运算或者人工交互.这里的js运算可能是aja ...

  9. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  10. Python爬虫---爬取数据(上)

    又是女票,拿了3万多条的13年某地区的公司信息,但是三年过去了,工商局的注册信息发生了巨大变化,有的注册资本增加了,有的公司老板变多了,更有不少公司不存在了,因此,需要一份最新的信息以便于她进行使用. ...

最新文章

  1. Djiango模板语言DTL
  2. 中秋水文 | 安利一发国漫
  3. CCF202112-2 序列查询新解
  4. Pycharm中进行Python远程开发
  5. 同时起两个mysql 起不了_两大龙头同时提价,6月起下游订单V字反转,份额都倾向这两家...
  6. 基于OpenCV的多目标动态检测与跟踪
  7. 天翼去主机linux密码是什么意思,useradmin天翼初始密码 密码都是admin
  8. Linux下rpm软件包rpm命令的安装及卸载
  9. 超低插损的新材料射频开关(PCM RF switch)的新进展
  10. Win10系统下配置virtualenv
  11. 两点天上来,爱情一线牵——Global Timing Debugger
  12. Windows注册表知识
  13. 蓝桥杯真题 13省Cc1-猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于
  14. 收藏一个快要消亡的技术古董
  15. 获取淘宝价格区间l-r的商品a的详细信息(商品名等)
  16. Android Keep screen on(保持屏幕唤醒)
  17. 潘建伟:量子技术实现“绝对安全”通信
  18. asp.net ajax工具箱,asp.net(c#) MS AJAX的安装
  19. 瑞利信道下基于判决反馈的16QAM信道均衡(matlab源码)
  20. 尼玛,刚聊完就弹窗推荐,这些 APP 是在偷听吗?

热门文章

  1. 组合数学 8种盒子放球问题
  2. 全球与中国处方太阳镜市场深度研究分析报告
  3. win10系统预加载服务器,等等, 你的win10关闭了这几个服务, 会流畅许多
  4. rank函数怎么用oracle,Oracle学习教程:rank函数的使用
  5. MySQL课程超级团,值得再提一次。
  6. 留学论文辅导计算机专业Essay写作范文
  7. 腾讯云,实现图片上传
  8. golang快速入门[3]-go语言helloworld
  9. 7月11号,大连小雨
  10. since作为连词引导时间状语从句的用法