7個實用的Python自動化代碼,別再重復造輪子了!

關于Python有一句名言:不要重復造輪子。
但是問題有三個:
1、你不知道已經有哪些輪子已經造好了,哪個適合你用。有名有姓的的著名輪子就400多個,更別說沒名沒姓自己在制造中的輪子。
2、確實沒重復造輪子,但是在重復制造汽車。包括好多大神寫的好幾百行代碼,為的是解決一個Excel本身就有的成熟功能。
3、很多人是用來抓圖,數據,抓點圖片、視頻、天氣預報自娛自樂一下,然后呢?抓到大數據以后做什么用呢?比如某某啤酒賣的快,然后呢?比如某某電影票房多,然后呢?
以下是經過Python3.6.4調試通過的代碼,與大家分享:
1、抓取知乎圖片
2、聽兩個聊天機器人互相聊天
3、AI分析唐詩的作者是李白還是杜甫
4、彩票隨機生成35選7
5、自動寫檢討書
6、屏幕錄相機
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
② 沒事閑的時候,聽兩個聊天機器人互相聊天
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])
③ 分析唐詩的作者是李白還是杜甫
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("?")
#?統(tǒng)計結果
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))
④ 彩票隨機生成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("老師要求的字數:"))
while?len(str(i))?1.2:
????s?=?random.randint(1,?60)
????rows?=?sheet.row_values(s)
????i.append(*rows)
print("?"*8+"檢討書"+"\n"+"老師:")
print("我不應該"?+?str(x)+",",?*i)
print("再次請老師原諒!")
'''
以下是樣稿:
請輸入具體事件:抽煙
老師要求的字數:200
????????檢討書
老師:
我不應該抽煙,?學校一開學就三令五申,一再強調校規(guī)校紀,提醒學生不要違反校規(guī),可我卻沒有把學校和老師的話放在心上,沒有重視老師說的話,沒有重視學校頒布的重要事項,當成了耳旁風,這些都是不應該的。同時也真誠地希望老師能繼續(xù)關心和支持我,并卻對我的問題酌情處理。?無論在學習還是在別的方面我都會用校規(guī)來嚴格要求自己,我會把握這次機會。?但事實證明,僅僅是熱情投入、刻苦努力、鉆研學業(yè)是不夠的,還要有清醒的政治頭腦、大局意識和紀律觀念,否則就會在學習上迷失方向,使國家和學校受損失。
再次請老師原諒!
'''
⑥ 屏幕錄相機,抓屏軟件
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")
可以試著玩起來了。
鏈接:https://mp.weixin.qq.com/s/EkXTukayNzSYTkepVRMtNA
(版權歸原作者所有,侵刪)
