uthgavin 发表于 2021-7-22 08:32

自学研究批量下载会计准则

财务人员都知道会计准则更新很快,并且每个文件单独下载非常麻烦。所以,本人通过学习前辈,研究如何用python批量下载最新会计准则,供工作参考。新手编码,如有不足请各位指正。

废话少说,直接上菜。

import requests
from lxml import etree
import os
import docx
from docx import Document
from docx.oxml.ns import qn# 中文格式
import time

path = f'f:/CAS最新会计准则/'#指定文档保存目录
if not os.path.exists(path):
    os.mkdir(path)

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81'}

#了解到网页一共有3页,所以i值为1-3
for i in range(1,4):
    url = f'https://www.casc.org.cn/qykjzz/{i}.shtml'
    res = requests.get(url=url,headers=headers)
    res.encoding = 'utf-8'
    res1 = res.text
    html = etree.HTML(res1)
    casname = html.xpath('//div[@class="newsCon clearfix"]//ul/li/a/text()')
    caslis = html.xpath('//div[@class="newsCon clearfix"]//ul/li/a/@href')
    cdic = dict(zip(casname,caslis))
    for casname, casurl in cdic.items():
      # print(casname,casurl)
      casres = requests.get(url='https:'+casurl,headers=headers)
      casres.encoding = 'utf-8'
      casres1 =casres.text
      cashtml = etree.HTML(casres1)
      cascont = cashtml.xpath('//div[@class="pageInfo"]//text()')
      file = docx.Document()   #新建一个word文档
      file.add_heading(casname,level=1)   #保存指定word标题
      file.add_paragraph(cascont)      #保存word文档内容
      # 设置word文档中的字体格式
      file.styles['Normal'].font.name = u'微软雅黑'
      file.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
      # # 插入照片
      # document.add_picture(r'C:\Users\Admin\Desktop\timg.jpg', width=docx.shared.Inches(6))

      # 保存word文档到指定目录中
      file.save(path+casname+'.docx')

      print(cascont)
      time.sleep(2)

qweqwezaq 发表于 2021-7-22 10:22

感谢楼主

uthgavin 发表于 2022-7-21 15:09

qweqwezaq 发表于 2021-7-22 10:22
感谢楼主

感谢支持!
页: [1]
查看完整版本: 自学研究批量下载会计准则