7個Python實戰專案程式碼,讓你分分鐘晉級大神!

Python大師兄發表於2020-02-08

關於Python有一句名言:不要重複造輪子。

但是問題有三個:

1、你不知道已經有哪些輪子已經造好了,哪個適合你用。有名有姓的的著名輪子就400多個,更別說沒名沒姓自己在製造中的輪子。

2、確實沒重複造輪子,但是在重複製造汽車。包括好多大神寫的好幾百行程式碼,為的是解決一個Excel本身就有的成熟功能。

3、很多人是用來抓圖,資料,抓點圖片、視訊、天氣預報自娛自樂一下,然後呢?抓到大資料以後做什麼用呢?比如某某啤酒賣的快,然後呢?比如某某電影票房多,然後呢?

我認為用Python應該能分析出來,這個現實的世界屬於政治家,商業精英,藝術家,農民,而絕對不會屬於Python程式設計師,縱使程式碼再精彩也沒什麼用。

以下是經過Python3.6.4除錯通過的程式碼,與大家分享:

1、抓取知乎圖片

2、聽兩個聊天機器人互相聊天(圖靈、青雲、小i)

3、AI分析唐詩的作者是李白還是杜

4、彩票隨機生成35選7

5、自動寫檢討書

6、螢幕錄相機

7、製作Gif動圖

1、抓取知乎圖片,只用30行程式碼:

import re

from selenium import webdrive

import time

import urllib.request

driver = webdriver.Chrome()

driver.maximize_window()

driver.get(“https://www.aiidol.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.smpeizi.com/openapi/api",data={"key":"4fede3c4384846b9a7d0456a5e1e2943", "info": s, })

resp = resp.json()

sleep(1)

print('小魚:', resp['text'])

s = resp['text']

resp = requests.get("http://www.3sjtw.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://www.idiancai.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 NaiveBayesClassifie

需要提前把李白的詩收集一下,放在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"aaabb")

推薦我們的Python學習扣qun:784758214 ,看看前輩們是如何學習的!從基礎的python指令碼到web開發、爬蟲、django、資料探勘等【PDF,實戰原始碼】,零基礎到專案實戰的資料都有整理。送給每一位python的小夥伴!每天都有大牛定時講解Python技術,分享一些學習的方法和需要注意的小細節,點選加入我們的 python學習者聚集地

相關文章