分享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 相关文章推荐
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
python逆向入门教程
Jan 15 Python
Python+Turtle动态绘制一棵树实例分享
Jan 16 Python
Python中GIL的使用详解
Oct 03 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
Python异常模块traceback用法实例分析
Oct 22 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
Python高级编程之继承问题详解(super与mro)
Nov 19 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
Python自动登录QQ的实现示例
Aug 28 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 Python
python 实现的截屏工具
May 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
apache rewrite_module模块使用教程
2008/01/10 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
js切换光标示例代码
2013/10/10 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python实现最大优先队列
2019/08/29 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
Python中Yield的基本用法
2020/10/18 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
小学生自我评价范文
2014/01/25 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
委托证明书
2014/09/17 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
MySQL索引失效场景及解决方案
2022/07/23 MySQL