楼主: wilson.jia
5588 3

[问答] Python抓取巨潮资讯财报post-免费-半成品兼求助 [推广有奖]

  • 11关注
  • 2粉丝

已卖:715份资源

硕士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
20881 个
通用积分
65.0201
学术水平
11 点
热心指数
12 点
信用等级
10 点
经验
1729 点
帖子
65
精华
0
在线时间
136 小时
注册时间
2015-10-10
最后登录
2023-7-13

楼主
wilson.jia 在职认证  发表于 2017-11-10 00:28:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
参考copy了别人的Python2.7代码,改成python3
贴出代码供大家研究,同时求高手指导修正
具体情况如下,


源代码地址:http://blog.csdn.net/lishenluo/article/details/52810746
目前修改后运行,返回的
输出如下:
{'classifiedAnnouncements': None, 'totalSecurities': 0, 'totalAnnouncement': 1, 'totalRecordNum': 1, 'announcements': [{'id': None, 'secCode': '603843', 'secName': '正平股份', 'orgId': '9900027728', 'announcementId': '1204129360', 'announcementTitle': '2017年第三季度报告(修订版)', 'announcementTime': 1510243200000, 'adjunctUrl': 'finalpage/2017-11-10/1204129360.PDF', 'adjunctSize': 527, 'adjunctType': 'PDF', 'storageTime': None, 'columnId': None, 'pageColumn': None, 'announcementType': None, 'associateAnnouncement': None, 'important': None, 'batchNum': None, 'announcementContent': None, 'announcementTypeName': None}], 'categoryList': None, 'hasMore': False, 'totalpages': 0}

代码如下:
# -*- coding: utf-8 -*-
"""
Created on Sun Jul 16 10:12:21 2017

@author: Wilson Jia
http://blog.csdn.net/lishenluo/article/details/52810746
"""
from urllib.request import urlopen,Request
from urllib.parse import urlencode
import time, datetime

def getstock(page, strdate):
    values = {
        'stock': '',
        'searchkey': '',
        'plate': 'sz;szmb;szzx;szcy;shmb',
        # %category_bndbg_szsh半年报告;category_sjdbg_szsh三季度;category_ndbg_szsh年度;category_yjdbg_szsh一季度
        'category': 'category_bndbg_szsh;category_sjdbg_szsh;category_ndbg_szsh;category_yjdbg_szsh',
        'trade': '',
        'column': 'szse',
        'columnTitle': '%E5%8E%86%E5%8F%B2%E5%85%AC%E5%91%8A%E6%9F%A5%E8%AF%A2',
        'pageNum': page,
        'pageSize': '50',
        'tabName': 'fulltext',
        'sortName': '',
        'sortType': '',
        'limit': '',
        'seDate': strdate}

    header = urlencode(values).encode('utf8')
    url="http://www.cninfo.com.cn/cninfo-new/announcement/query"
    webRequest=Request(url,header)
    datime = datetime.datetime.now()
    response=urlopen(webRequest)
    re_data=response.read()
    re_data=re_data.decode('utf8')
    dict_data = eval(re_data.replace('null', 'None').replace('true', 'True').replace('false', 'False'))
    print(dict_data)# 转成dict数据,输出看看
    return dict_data
date2 = time.strftime('%Y-%m-%d', time.localtime())
page = 1
ret = getstock(str(page), str(date2))


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python post POS 半成品 announcement

努力。

沙发
wilson.jia 在职认证  发表于 2017-11-11 07:47:18
自己顶

藤椅
gjinwei 发表于 2017-11-21 22:25:50
测试了一下,原默认一页是30条记录,但支持上限是一页50条,改个页码数据就能源源不断到手。如果要下载PDF,可以根据获取到的信息做组合,以下是两个不同财报的下载地址做,稍比较一下就知道了:
  1. http://www.cninfo.com.cn/cninfo-new/disclosure/szse/download/1204125482?announceTime=2017-11-09
复制代码
  1. http://www.cninfo.com.cn/cninfo-new/disclosure/szse/download/1204156296?announceTime=2017-11-22
复制代码
源信息获取代码(参数可查询提交参数,下附图):
  1. import requests

  2. url = "http://www.cninfo.com.cn/cninfo-new/announcement/query"

  3. payload = "stock=&searchkey=&plate=&category=category_ndbg_szsh%3Bcategory_bndbg_szsh%3Bcategory_yjdbg_szsh%3Bcategory_sjdbg_szsh%3B&trade=&column=szse&columnTitle=%E5%8E%86%E5%8F%B2%E5%85%AC%E5%91%8A%E6%9F%A5%E8%AF%A2&pageNum={0}&pageSize=50&tabName=fulltext&sortName=&sortType=&limit=&showTitle=category_ndbg_szsh%2Fcategory%2F%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A%3Bcategory_bndbg_szsh%2Fcategory%2F%E5%8D%8A%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A%3Bcategory_yjdbg_szsh%2Fcategory%2F%E4%B8%80%E5%AD%A3%E5%BA%A6%E6%8A%A5%E5%91%8A%3Bcategory_sjdbg_szsh%2Fcategory%2F%E4%B8%89%E5%AD%A3%E5%BA%A6%E6%8A%A5%E5%91%8A&seDate=%E8%AF%B7%E9%80%89%E6%8B%A9%E6%97%A5%E6%9C%9F"
  4. headers = {
  5.     'content-type': "application/x-www-form-urlencoded",
  6.     'cache-control': "no-cache"
  7.     }
  8. for i in range(100):
  9.     response = requests.request("POST", url, data=payload.format(i+1), headers=headers)
  10.     print(response.text)
复制代码
TIM图片20171121222318.png TIM截图20171121222424.png

板凳
sunny.syf 在职认证  发表于 2024-5-29 14:17:07
学习下。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-13 21:04