打开北京证券交易所官网,点击发行上市,然后点击公开发行信息披露,然后在查询框里面输入关键词:在北京证券交易所上市招股说明书,然后选择时间,点击查询,就可以看到所有北交所上市公司的招股说明书了,一共4页
查看网页源代码,在network里面,可以看到动态网页的真实地址,然后点击payload,矿业看到动态网页的参数:
然后可以在ChatGPT中输入提示词如下:
你是一个Python编程专家,任务是爬取网站数据,具体步骤如下:
打开网站:
https://www.bse.cn/disclosureInfoController/zoneInfoResult.do?callback=jQuery331_1688797937558?disclosureType=&disclosureTypes%5B%5D=9533&page={0}&companyCd=&fileName=&inquiryList=&startTime=2022-01-01&endTime=2023-07-08&keyword=%E5%8C%97%E4%BA%AC%E8%AF%81%E5%88%B8%E4%BA%A4%E6%98%93%E6%89%80%E4%B8%8A%E5%B8%82%E6%8B%9B%E8%82%A1%E8%AF%B4%E6%98%8E%E4%B9%A6&isLink=1&needFields%5B%5D=companyCd&needFields%5B%5D=xxfcbj&needFields%5B%5D=companyName&needFields%5B%5D=disclosureTitle&needFields%5B%5D=disclosureCode&needFields%5B%5D=disclosurePostTitle&needFields%5B%5D=destFilePath&needFields%5B%5D=publishDate&needFields%5B%5D=fileExt&sortfield=xxssdq&sorttype=asc
其中,Page参数的值是从0到3
获取每页返回的jsonp格式的内容,并打印输出;
去掉jsonp格式内容开头的“jQuery331_1688797937558”字符,
解析嵌套其中的"listInfo"json数据,然后解析嵌套"listInfo"中的"content"json数据;
然后提取"content"中"companyCd"、"companyName"、"destFilePath"、"disclosureTitle"、"publishDate"这些字段内容到F盘“北交所招股说明书.xlsx”;提取到字段内容后要打印输出;
注意:每一步都要输出信息;每页数据爬取后暂停5秒;
程序运行后,数据爬取正常,但是保存到excel表格时出错:
让ChatGPT修复,然后再次运行,成功获取所有上市公司的招股说明书PDF文件下载地址:
接下来,在ChatGPT中输入提示词:
写一段Python程序,来批量下载PDF文件:
F盘有一个文件:北交所招股说明书.xlsx,
读取表格里面的companyName,然后加上“招股说明书”,作为PDF文件名称;
读取表格里面的destFilePath,前面加上“https://www.bse.cn”,作为PDF文件下载的URL地址;
下载所有PDF文件,保存到F盘的文件夹:“北交所招股说明书”
注意:每一步都输出信息;每下载一个PDF文件,暂停5秒;