分享7个 Python 实战项目练习


Posted in Python onMarch 03, 2022

但是问题有三个:

  • 1、我们不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。
  • 2、确实没重复造轮子,但是在重复制造汽车。包括好多大神写的好几百行代码,为的是解决一个Excel本身就有的成熟功能。
  • 3、很多人是用来抓图,数据,抓点图片、视频、天气预报自娱自乐一下,然后呢?抓到大数据以后做什么用呢?比如某某啤酒卖的快,然后呢?比如某某电影票房多,然后呢?

以下是经过Python3.6.4调试通过的代码,与大家分享:

  • 1、抓取知乎图片
  • 2、听两个聊天机器人互相聊天
  • 3、AI分析唐诗的作者是李白还是杜甫
  • 4、彩票随机生成35选7
  • 5、自动写检讨书
  • 6、屏幕录相机
  • 7、制作Gif动图

1.抓取知乎图片,只用30行代码

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

2.听两个聊天机器人互相聊天

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'])
#网上还有一个据说智商比较高的小i机器人,用爬虫的功能来实现一下:

import urllib.request
import re

while True:
    x = input("主人:")
    x = urllib.parse.quote(x)
    link = urllib.request.urlopen(
        "http://nlp.xiaoi.com/robot/webrobot?&callback=__webrobot_processMsg&data=%7B%22sessionId%22%3A%22ff725c236e5245a3ac825b2dd88a7501%22%2C%22robotId%22%3A%22webbot%22%2C%22userId%22%3A%227cd29df3450745fbbdcf1a462e6c58e6%22%2C%22body%22%3A%7B%22content%22%3A%22" + x + "%22%7D%2C%22type%22%3A%22txt%22%7D")
    html_doc = link.read().decode()
    reply_list = re.findall(r'\"content\":\"(.+?)\\r\\n\"', html_doc)
    print("小i:" + reply_list[-1])

3.分析唐诗的作者是李白还是杜甫

import jieba
from nltk.classify import NaiveBayesClassifier

# 需要提前把李白的诗收集一下,放在libai.txt文本中。
text1 = open(r"libai.txt", "rb").read()
list1 = jieba.cut(text1)
result1 = " ".join(list1)
# 需要提前把杜甫的诗收集一下,放在dufu.txt文本中。
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("请输入一句你喜欢的诗:")
print("\n")
seg_list = jieba.cut(sentence)
result1 = " ".join(seg_list)
words = result1.split(" ")

# 统计结果


lb = 0
df = 0
for word in words:
    classResult = classifier.classify(word_feats(word))
    if classResult == 'lb':
        lb = lb + 1
    if classResult == 'df':
        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.彩票随机生成35选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.自动写检讨书

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(" "*8+"检讨书"+"\n"+"老师:")
print("我不应该" + str(x)+",", *i)
print("再次请老师原谅!")
'''

以下是样稿:

请输入具体事件:抽烟
老师要求的字数:200
        检讨书

老师:

我不应该抽烟, 学校一开学就三令五申,一再强调校规校纪,提醒学生不要违反校规,可我却没有把学校和老师的话放在心上,没有重视老师说的话,没有重视学校颁布的重要事项,当成了耳旁风,这些都是不应该的。同时也真诚地希望老师能继续关心和支持我,并却对我的问题酌情处理。 无论在学习还是在别的方面我都会用校规来严格要求自己,我会把握这次机会。 但事实证明,仅仅是热情投入、刻苦努力、钻研学业是不够的,还要有清醒的政治头脑、大局意识和纪律观念,否则就会在学习上迷失方向,使国家和学校受损失。
再次请老师原谅!
'''

6.屏幕录相机,抓屏软件

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.制作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"aaab

到此这篇关于分享7个 Python 实战项目代码的文章就介绍到这了,更多相关 Python 实战项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
Python实现图片拼接的代码
Jul 02 Python
python实现flappy bird游戏
Dec 24 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
python celery分布式任务队列的使用详解
Jul 08 Python
Django Rest framework认证组件详细用法
Jul 25 Python
python实现批量修改服务器密码的方法
Aug 13 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
PyTorch中topk函数的用法详解
Jan 02 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
python工具dtreeviz决策树可视化和模型可解释性
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 #Python
详解python的异常捕获
Mar 03 #Python
分享提高 Python 代码的可读性的技巧
Mar 03 #Python
使用python创建股票的时间序列可视化分析
Python Pandas读取Excel日期数据的异常处理方法
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
python3.6编写的单元测试示例
2019/08/17 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
阳光体育活动总结
2014/04/30 职场文书
差生评语大全
2014/05/04 职场文书
市场调查策划方案
2014/06/10 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
医者仁心观后感
2015/06/17 职场文书
新闻稿格式范文
2015/07/18 职场文书
公司考勤管理制度
2015/08/04 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL