财务人员都知道会计准则更新很快,并且每个文件单独下载非常麻烦。所以,本人通过学习前辈,研究如何用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)
|