当前位置:   article > 正文

Python自动化小技巧13——批量下载北交所上市公司年报_如何批量下载上市公司年报语调

如何批量下载上市公司年报语调

案例背景

同学问能不能爬虫下载年报,要下很多公司,一个一个搜索下载太慢了...

这种重复性的劳动交给Python脚本可太适合了

核心思想还是使用selenium库去模拟人输入股票代码和搜索下载。

北交所网站:

上市公司公告 - 北京证券交易所 (bse.cn)


代码实现

导入包

  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.common.by import By
  4. from bs4 import BeautifulSoup
  5. import os
  6. import pandas as pd
  7. from time import sleep

模拟点击:

这里用的是edge的驱动器,需要去官网下载:

 然后把msedgedriver.exe文件和代码放在一个目录下就能运行了。

使用EdgeOptions()的类设置了一下浏览器的设置,让pdf下载的位置都进行了设定,免得下载了找不到......

要下载的公司的股票代码放在stock列表里面就行。我这里就只用了两个公司测试一下。

  1. from selenium.webdriver import Edge
  2. from selenium.webdriver.edge.options import Options as EdgeOptions
  3. options = EdgeOptions()
  4. options.add_experimental_option('prefs', {
  5. "download.default_directory": 'D:\\AAA最近要用\\下载', #下载的年报存储路径
  6. "download.prompt_for_download": False, #To auto download the file
  7. "download.directory_upgrade": True,
  8. "plugins.always_open_pdf_externally": True #It will not show PDF directly in chrome
  9. })
  10. driver = webdriver.Edge("msedgedriver", options=options)
  11. url = "http://www.bse.cn/disclosure/announcement.html"
  12. driver.implicitly_wait(10)
  13. driver.get(url)
  14. sleep(5)
  15. stock=['837344','837242'] #代码列表
  16. driver.find_element(By.XPATH,'//*[@id="root"]/div[4]/div/div/div[1]/div/div[1]/div/div[4]/div/div/span[2]').click()
  17. for i in range(len(stock)):
  18. code=driver.find_element(By.XPATH,'//*[@id="companyCode"]')
  19. code.clear()
  20. code.send_keys(stock[i])
  21. driver.find_element(By.XPATH,'//*[@id="submit "]').click()
  22. driver.find_element(By.XPATH,'//*[@id="table"]/table/tbody/tr[1]/td[4]/a').click()#下载摘要
  23. sleep(5)
  24. driver.find_element(By.XPATH,'//*[@id="table"]/table/tbody/tr[2]/td[4]/a').click()#下载报告
  25. sleep(5)
  26. code.clear()
  27. sleep(2)
  28. print(f'{stock[i]}的2021年年报下载完成')
  29. driver.quit()

上面代码就是输入股票代码,点击查询,然后点击前两个pdf链接,然后清空搜索行重新输入下一个股票代码,查询,下载.....循环往复。

我这里模拟只点击了 前两个pdf文件,也就是2021的年报和摘要。如果需要更多的年份也是可以再加几个Xpath路径点击就行。

 

然后就下载完成啦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/421498
推荐阅读
相关标签
  

闽ICP备14008679号