7 個實用的 Python 自動化代碼,別再重復(fù)造輪子了!
轉(zhuǎn)載自:網(wǎng)絡(luò)
如有侵權(quán),請聯(lián)系刪除
關(guān)于 Python 有一句名言:不要重復(fù)造輪子。
但是問題有三個:
1、你不知道已經(jīng)有哪些輪子已經(jīng)造好了,哪個適合你用。有名有姓的的著名輪子就 400 多個,更別說沒名沒姓自己在制造中的輪子。
2、確實沒重復(fù)造輪子,但是在重復(fù)制造汽車。包括好多大神寫的好幾百行代碼,為的是解決一個 Excel 本身就有的成熟功能。
3、很多人是用來抓圖,數(shù)據(jù),抓點(diǎn)圖片、視頻、天氣預(yù)報自娛自樂一下,然后呢?抓到大數(shù)據(jù)以后做什么用呢?比如某某啤酒賣的快,然后呢?比如某某電影票房多,然后呢?
以下是經(jīng)過 Python3.6.4 調(diào)試通過的代碼,與大家分享:
1、抓取知乎圖片
2、聽兩個聊天機(jī)器人互相聊天
3、AI 分析唐詩的作者是李白還是杜甫
4、彩票隨機(jī)生成 35 選 7
5、自動寫檢討書
6、屏幕錄相機(jī)
7、制作 Gif 動圖
抓取知乎圖片只用 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?????i?=?time.time()
????local?=?(r"%s.jpg"?%?(i))
????urllib.request.urlretrieve(content_list[n],?local)
????print("編號:"?+?str(i))
????n?=?n?+?1
沒事閑的時候聽兩個聊天機(jī)器人互相聊天
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'])
#網(wǎng)上還有一個據(jù)說智商比較高的小i機(jī)器人,用爬蟲的功能來實現(xiàn)一下:
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])
分析唐詩的作者是李白還是杜甫
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)
#?數(shù)據(jù)準(zhǔn)備
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
#?訓(xùn)練決策
classifier?=?NaiveBayesClassifier.train(train_set)
#?分析測試
sentence?=?input("請輸入一句你喜歡的詩:")
print("\n")
seg_list?=?jieba.cut(sentence)
result1?=?"?".join(seg_list)
words?=?result1.split("?")
#?統(tǒng)計結(jié)果
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
#?呈現(xiàn)比例
x?=?float(str(float(lb)?/?len(words)))
y?=?float(str(float(df)?/?len(words)))
print('李白的可能性:%.2f%%'?%?(x?*?100))
print('杜甫的可能性:%.2f%%'?%?(y?*?100))
彩票隨機(jī)生成 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])
自動寫檢討書
import?random
import?xlrd
ExcelFile?=?xlrd.open_workbook(r'test.xlsx')
sheet?=?ExcelFile.sheet_by_name('Sheet1')
i?=?[]
x?=?input("請輸入具體事件:")
y?=?int(input("老師要求的字?jǐn)?shù):"))
while?len(str(i))?1.2:
????s?=?random.randint(1,?60)
????rows?=?sheet.row_values(s)
????i.append(*rows)
print("?"*8+"檢討書"+"\n"+"老師:")
print("我不應(yīng)該"?+?str(x)+",",?*i)
print("再次請老師原諒!")
'''
以下是樣稿:
請輸入具體事件:抽煙
老師要求的字?jǐn)?shù):200
????????檢討書
老師:
我不應(yīng)該抽煙,?學(xué)校一開學(xué)就三令五申,一再強(qiáng)調(diào)校規(guī)校紀(jì),提醒學(xué)生不要違反校規(guī),可我卻沒有把學(xué)校和老師的話放在心上,沒有重視老師說的話,沒有重視學(xué)校頒布的重要事項,當(dāng)成了耳旁風(fēng),這些都是不應(yīng)該的。同時也真誠地希望老師能繼續(xù)關(guān)心和支持我,并卻對我的問題酌情處理。無論在學(xué)習(xí)還是在別的方面我都會用校規(guī)來嚴(yán)格要求自己,我會把握這次機(jī)會。但事實證明,僅僅是熱情投入、刻苦努力、鉆研學(xué)業(yè)是不夠的,還要有清醒的政治頭腦、大局意識和紀(jì)律觀念,否則就會在學(xué)習(xí)上迷失方向,使國家和學(xué)校受損失。
再次請老師原諒!
'''
屏幕錄相機(jī)抓屏軟件
from?time?import?sleep
from?PIL?import?ImageGrab
m?=?int(input("請輸入想抓屏幾分鐘:"))
m?=?m?*?60
n?=?1
while?n?????sleep(0.02)
????im?=?ImageGrab.grab()
????local?=?(r"%s.jpg"?%?(n))
????im.save(local,?'jpeg')
????n?=?n?+?1
制作 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")我們的文章到此就結(jié)束啦~記得點(diǎn)贊
如何找到我:
評論
圖片
表情
