朋友在微信小程序找到python的题目,想要搞下来,开始是自己照着敲,后面截图利用QQ提取文字功能,都比较机械和麻烦。
写了个程序帮他解决了这个问题。
首先抓包获取到题目的数据,原本是找地址的,不过直接放到外面请求有问题。
然后将数据放到json文件中。
同时复制到网页中,便于查看文件内容的层级结构。
最后按照层级关系,通过循环,判断直接打印出到终端并保存到word中。
安装库:
下载图片用:
pip install requests
写入word文档:
pip install python-docx
完整代码:
import json
import requests
from docx import Document
from docx.shared import Inches
def download_img(url,index):
try:
response = requests.get(url)
content = response.content
with open(f'{index}.jpg','wb') as f:
f.write(content)
except:
return None
return True
def save_word(questions,title):
count = 0
for question in questions[:25]:
count += 1
print(count,question['title'])
document.add_paragraph(f"{count}.{question['title']}")
if question['questionsImgFlag']:
for questionimg in question['questionsimg']:
print(questionimg['imgurl'])
if download_img(questionimg['imgurl'],count):
document.add_picture(f'{count}.jpg', width=Inches(2.25))
optionList = question['optionList']
for option in optionList:
if option['optionImgFlag']:
print(option['id'],option['optionImg'])
if download_img(option['optionImg'],count):
document.add_paragraph(f"{option['id']}.")
document.add_picture(f'{count}.jpg', width=Inches(2.25))
else:
print(option['id'],option['content'])
document.add_paragraph(f"{option['id']}.{option['content']}")
print('正确答案:',question['answer'])
document.add_paragraph(f"正确答案:{question['answer']}")
print('解析:',question['explain'])
document.add_paragraph(f"解析:{question['explain']}")
document.save(title)
if __name__ == "__main__":
with open('content.json','r',encoding='utf-8') as f:
questions = json.load(f)['questionList']
document = Document()
document.add_heading('等级考试一级', 0)
save_word(questions,'等级考试一级.docx')
搞完之后朋友说真香,分分钟搞了几套题。
正常网上你看见的内容都是可以获取到的,不过有一些会切片,分成一段一段,有些甚至加密了,需要稍微调整一下。
爬虫自动化用来辅助自己学习工作还是很不错的,节省时间,不过爬取内容也得注意,不要乱爬,不然会出问题的。
一直以来,我都是把编程作为一个工具,解决问题的工具,锻炼思维的工具,创作的工具。
之前也写过很多案例,
最近我开始着手将公众号分享过的所有案例,未分享过的以及简单入门教程整理出来,打造了一个python知识库;
不过这个内容是收费的,里面不仅有python的内容,还有网页,网站开发,基础C++等内容,目前已经更新了一部分,以后会一直维护,直到更新完毕,也会根据需求,针对部分内容做视频讲解。
python知识库
⛳ 什么是python知识库
汇集了python各个方向的入门知识,提供简单的入门教程&案例分享。
⛳ 为什么做知识库?
这个知识库主要提供python编程各方向应用入门教程&案例想法,主要解决以下几个问题:
1.网上内容太过杂乱,发散,且不够清晰,总是找不到自己想要的内容,或者有问题找不到人询问,这里将 python 的知识做了分类且提供了详细的入门教程,还有我个人的答疑。
2.为我的学生课余提供文字版的参考教程。
3.学了python基础知识,不知道可以做什么有趣的作品,那么这里有很多案例可以供你参考,为你打开一扇窗。
4.python有很多方向,都想了解一下,那么这里有各种方向的入门教程,供你参考学习,快速了解这个方向。
5.初学者想学习python编程,不知道从哪里开始,那么这里可以给你一个方向&学习路径。
6.编程培训机构没有课程&课程大纲&课程制作思路方向,那么这里也可以给你提供帮助。
???? 知识库如何使用?
找到你感兴趣的方向,从入门教程开始,跟着步骤敲入每行代码,完成后就可以对这个方向有个大概了解了。(过程中如果有问题可以加我好友,免费解答)。
如果喜欢可以继续深入学习,不喜欢就可以放下,减少自己摸索的时间。
(全文完)
长按二维码,加关注!叶子陪你玩
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩编程