7 Fun Python Projects You Can Build in Minutes
This article presents seven practical Python scripts—from scraping Zhihu images and chatting bots to poetry author detection, lottery generation, auto‑drafting apologies, screen recording, and GIF creation—showcasing how to quickly automate diverse tasks without reinventing the wheel.
There is a famous saying in the Python community: "Don't reinvent the wheel." The article points out three problems: not knowing existing libraries, duplicating effort on tasks already solved, and collecting data without clear purpose. It then shares seven Python 3.6.4 scripts that demonstrate useful automation.
1. Scrape Zhihu images (30 lines of code)
import re
from selenium import webdriver
import time
import urllib.request
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.zhihu.com/question/29134042")
i = 0
while i < 10:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
try:
driver.find_element_by_css_selector('button.QuestionMainAction').click()
print("page" + str(i))
time.sleep(1)
except:
break
result_raw = driver.page_source
content_list = re.findall('img src="(.+?)"', str(result_raw))
n = 0
while n < len(content_list):
i = time.time()
local = f"{i}.jpg"
urllib.request.urlretrieve(content_list[n], local)
print("编号:" + str(i))
n = n + 1
i = i + 12. Let two chatbots talk to each other
from time import sleep
import requests
s = input("请主人输入话题:")
while True:
resp = requests.post("http://www.tuling123.com/openapi/api", data={"key":"4fede3c4384846b9a7d0456a5e1e2943", "info": s})
resp = resp.json()
sleep(1)
print('小鱼:', resp['text'])
s = resp['text']
resp = requests.get("http://api.qingyunke.com/api.php", {'key': 'free', 'appid': 0, 'msg': s})
resp.encoding = 'utf8'
resp = resp.json()
sleep(1)
print('菲菲:', resp['content'])3. Identify the author of a Tang poem (Li Bai or Du Fu)
import jieba
from nltk.classify import NaiveBayesClassifier
# Load Li Bai poems
text1 = open(r"libai.txt", "rb").read()
list1 = jieba.cut(text1)
result1 = " ".join(list1)
# Load Du Fu poems
text2 = open(r"dufu.txt", "rb").read()
list2 = jieba.cut(text2)
result2 = " ".join(list2)
libai = result1
dufu = result2
def word_feats(words):
return {word: True for word in words}
libai_features = [(word_feats(lb), 'lb') for lb in libai]
dufu_features = [(word_feats(df), 'df') for df in dufu]
train_set = libai_features + dufu_features
classifier = NaiveBayesClassifier.train(train_set)
sentence = input("请输入一句你喜欢的诗:")
seg_list = jieba.cut(sentence)
result = " ".join(seg_list)
words = result.split(" ")
lb = df = 0
for word in words:
classResult = classifier.classify(word_feats(word))
if classResult == 'lb':
lb += 1
if classResult == 'df':
df += 1
x = float(lb) / len(words)
y = float(df) / len(words)
print('李白的可能性:%.2f%%' % (x * 100))
print('杜甫的可能性:%.2f%%' % (y * 100))4. Random lottery generator (35 choose 7)
import random
temp = [i + 1 for i in range(35)]
random.shuffle(temp)
i = 0
lst = []
while i < 7:
lst.append(temp[i])
i = i + 1
lst.sort()
print(*lst[0:6], end=" ")
print(lst[-1])5. Auto‑generate a self‑criticism letter
import random
import xlrd
ExcelFile = xlrd.open_workbook(r'test.xlsx')
sheet = ExcelFile.sheet_by_name('Sheet1')
i = []
x = input("请输入具体事件:")
y = int(input("老师要求的字数:"))
while len(str(i)) < y * 1.2:
s = random.randint(1, 60)
rows = sheet.row_values(s)
i.append(*rows)
print(" 检讨书")
print("老师:")
print("我不应该" + str(x) + ",", *i)
print("再次请老师原谅!")6. Simple screen recorder
from time import sleep
from PIL import ImageGrab
m = int(input("请输入想抓屏几分钟:"))
m = m * 60
n = 1
while n < m:
sleep(0.02)
im = ImageGrab.grab()
local = f"{n}.jpg"
im.save(local, 'jpeg')
n = n + 17. Create an animated GIF
from PIL import Image
im = Image.open("1.jpg")
images = []
images.append(Image.open('2.jpg'))
images.append(Image.open('3.jpg'))
im.save('gif.gif', save_all=True, append_images=images, loop=1, duration=1, comment=b"aaabb")These snippets illustrate how Python can quickly automate tasks ranging from web scraping and chatbot interaction to data analysis, random number generation, document creation, screen capture, and simple multimedia processing.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Python Programming Learning Circle
A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
