7 Fun Python Projects You Can Build in Minutes

This article shares seven practical Python scripts—ranging from a 30‑line Zhihu image scraper and chatbot conversation loop to poetry author classification, lottery number generation, automatic apology letter creation, screen‑capture automation, and GIF assembly—demonstrating how to avoid reinventing the wheel while learning useful automation techniques.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
7 Fun Python Projects You Can Build in Minutes

There is a famous saying about Python: "Don't reinvent the wheel." The article points out three problems: not knowing existing libraries, recreating functionality that already exists, and collecting data without clear purpose. It then presents seven ready‑to‑run Python 3.6.4 examples.

1. Scrape Zhihu Images with 30 Lines of Code

from selenium import webdriver
import time
import urllib.request
import re

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 = (r"%s.jpg" % (i))
    urllib.request.urlretrieve(content_list[n], local)
    print("编号:" + str(i))
    n = n + 1

2. 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'])
# Additional example using 小i robot via web scraping (omitted for brevity)

3. Analyze Tang Poetry Author (Li Bai vs 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 dict([(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)
words = " ".join(seg_list).split(" ")

lb = 0
df = 0
for word in words:
    classResult = classifier.classify(word_feats(word))
    if classResult == 'lb':
        lb += 1
    if classResult == 'df':
        df += 1

x = float(str(float(lb) / len(words)))
y = float(str(float(df) / len(words)))
print('李白的可能性:%.2f%%' % (x * 100))
print('杜甫的可能性:%.2f%%' % (y * 100))

4. Random Lottery Number Generator (35 choose 7)

import random

temp = [i + 1 for i in range(35)]
random.shuffle(temp)
i = 0
list = []
while i < 7:
    list.append(temp[i])
    i = i + 1
list.sort()
print('\033[0;31;;1m')
print(*list[0:6], end="")
print('\033[0;34;;1m', end=" ")
print(list[-1])

5. Auto‑Generate an Apology 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("我不应该" + str(x) + ",", *i)
print("再次请老师原谅!")

6. Screen Capture 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 = (r"%s.jpg" % (n))
    im.save(local, 'jpeg')
    n = n + 1

7. Create a GIF Animation

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")

Feel free to try these scripts and explore their possibilities.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

PythonAutomationChatbotWeb Scrapinggif-creationLottery GeneratorPoetry Classification
MaGe Linux Operations
Written by

MaGe Linux Operations

Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.