久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

 絲廣里 2017-08-31

很多小伙伴找我問:老鐵,,這些代碼我寫的和你一樣,為什么我的不行,。其實(shí)這是最基本的函數(shù),,你照葫蘆畫瓢是沒什么多大的作用的。我不會(huì)直接告訴你答案也不是我不想告訴你,,而是希望你能跟著思路,,自己找到答案,這才是真的學(xué)會(huì)了,,掌握了這其中的知識(shí)點(diǎn),,下次在遇到就會(huì)了,而不是到處去問,。如果你還在迷茫,,不知道該往哪個(gè)方向走,如果你還找不到Python的入門,,如果你還在為碰到各種知識(shí)點(diǎn)不會(huì)而苦惱,那就加小編自己弄的一個(gè)交流學(xué)習(xí)基地吧,。大家可以加入交流基地:58937142,,里面新手入門資料,可以說從零到項(xiàng)目實(shí)戰(zhàn),,都是可以免費(fèi)獲取的,,還有熱心腸的答疑小伙伴為各位免費(fèi)解答問題,熱心腸的小伙伴也是蠻多的,。不失為是一個(gè)交流的的好地方,,小編在這里邀請(qǐng)大家加入我的大家庭,。歡迎你的到來。一起交流學(xué)習(xí),!共同進(jìn)步,!小編等你!

前言

開心做技術(shù)

在深入感受到爬蟲的樂趣的時(shí)候,,多想用它干點(diǎn)簡(jiǎn)單的事情,,我非常喜歡瀏覽某網(wǎng)站的熱點(diǎn)新聞,但如果那天學(xué)習(xí)忙的天花亂綴(chu qu gui hun)的時(shí)候,,“WC,、WC、我錯(cuò)過了什么大事情”,,就會(huì)錯(cuò)過當(dāng)時(shí)的熱點(diǎn),。怎么才能記錄下呢!

預(yù)期達(dá)成效果:

python爬去某網(wǎng)站上的時(shí)刻下最熱點(diǎn)新聞,,存儲(chǔ)到文檔中,。在lunix下定時(shí)每隔n小時(shí)啟用python去爬取新聞,然后用郵件的形式每隔n小時(shí)將新聞文檔發(fā)到自己的郵箱,,以便朕統(tǒng)一的查閱,。

執(zhí)行計(jì)劃:

  1. 定時(shí)執(zhí)行任務(wù)配置【Ubuntu環(huán)境下】

  2. 發(fā)送郵件相關(guān)配置

  3. 執(zhí)行腳本編寫

  4. python爬蟲程序編寫

注:一千個(gè)人心中有一千個(gè)哈姆雷特,一千個(gè)人配出一千種錯(cuò)誤

1,、定時(shí)執(zhí)行任務(wù)

在ubuntu相愛使用crontab部署定時(shí)任務(wù){使用是linux虛擬機(jī)ubuntu,。}

cron是一個(gè)[守護(hù)程序]用于在指定的時(shí)間內(nèi)執(zhí)行行程類的任務(wù),每一個(gè)用戶都有一個(gè) crontab 文件,,來允許他們指定需要執(zhí)行的內(nèi)容和時(shí)間,,此外,系統(tǒng)也有一個(gè) crontab ,,用來允許像交替日志和更新本地?cái)?shù)據(jù)這樣有規(guī)則的任務(wù),。

插入crontab所需要的知識(shí),只需要看看,,了解下后面不明白再來看

服務(wù)使用命令:

查看cron的狀態(tài)

sudo service cron status 

開啟cron

sudo /etc/init.d/cron start

關(guān)閉cron

sudo /etc/init.d/cron stop

重啟cron

sudo service cron restart

or重啟服務(wù)

sudo /etc/init.d/cron restart

查看命令是否運(yùn)行

pgrep cron

cron設(shè)置用法:

crontab -e #設(shè)置定時(shí)任務(wù)crontab -l #查看詳情crontab -r : 刪除 crontab 文件 不建議手賤去驗(yàn)證他

定時(shí)任務(wù)的模版樣式:

* * * * * command 星星表示通配符 command表示任務(wù)

m h dom mon dow command

分 時(shí) 日 月 周 命令

m 分鐘 0-59第1列表示分鐘1~59 每分鐘用*或者 */1表示

h 小時(shí) 0-23 第2列表示小時(shí)1~23(0表示0點(diǎn))

dow 天1-31 第3列表示日期1~31

mon 月 1-12 第4列表示月份1~12

dow 星期 1-6 0表示星期日第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)

command 就是要執(zhí)行的命令 第6列要運(yùn)行的命令

記住幾個(gè)特殊符號(hào)的含義:

“*”代表取值范圍內(nèi)的數(shù)字,

“/”代表”每”,

“-”代表從某個(gè)數(shù)字到某個(gè)數(shù)字,

“,”分開幾個(gè)離散的數(shù)字

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每晚的21:30重啟apache,。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每月1、10,、22日的4 : 45重啟apache,。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每周六、周日的1 : 10重啟apache,。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache,。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每星期六的11 : 00 pm重啟apache。

0 */1 * * * /usr/local/etc/rc.d/lighttpd restart

每一小時(shí)重啟apache

0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

晚上11點(diǎn)到早上7點(diǎn)之間,,每隔一小時(shí)重啟apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

一月一號(hào)的4點(diǎn)重啟apac

每天7:50以root 身份執(zhí)行/etc/cron.daily目錄中的所有可執(zhí)行文件

50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts參數(shù)表示,,執(zhí)行后面目錄中的所有可執(zhí)行文件,。 ]

每天早上6點(diǎn)

0 6 * * * echo 'Good morning.' >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,,因?yàn)閏ron把任何輸出都email到root的信箱了,。

每?jī)蓚€(gè)小時(shí)(第一個(gè)為15,指明沒兩個(gè)小時(shí)的第15min中執(zhí)行一次)

15 */2 * * * echo 'Have a break now.' >> /tmp/test.txt

晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí)和早上八點(diǎn)

0 23-7/2,,8 * * * echo 'Have a good dream' >> /tmp/test.txt

每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)

0 11 4 * 1-3 command line

每月(1號(hào)凌晨4:42)去執(zhí)行/etc/cron.monthly內(nèi)的腳本

42 4 1 * * root run-parts /etc/cron.monthly

注意: 'run-parts'這個(gè)參數(shù)了,,如果去掉這個(gè)參數(shù)的話,后面就可以寫要運(yùn)行的某個(gè)腳本名,,而不是文件夾名,。

每天的下午4點(diǎn)、5點(diǎn),、6點(diǎn)的5 min,、15 min、25 min,、35 min,、45 min、55 min時(shí)執(zhí)行命令,。

5,,15,25,,35,,45,55 16,,17,,18 * * * command

每年的一月和四月,4號(hào)到9號(hào)的3點(diǎn)12分和3點(diǎn)55分執(zhí)行/bin/rm -f expire.1st這個(gè)指令,,并把結(jié)果添加在mm.txt這個(gè)文件之后(mm.txt文件位于用戶自己的目錄位置),。

12,553 4-91,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt (頭大)

自己測(cè)試小實(shí)驗(yàn),了解他的大概流程與原理:

root123456@ubuntu:~$ crontab –e

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

使用vi編譯器,,第一次使用Ubuntu它會(huì)讓你選著編譯器,不要相信他的箭頭(easies,?)用了老半天就他最費(fèi)勁 ,,還是選擇vi,別問為什么,, 順 手!

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

在里面最下面鍵入:測(cè)試代碼

同時(shí)在目錄下創(chuàng)建/tmp/1.txt

*/1 * * * * date >> /tmp/1.txt

意思是每一分鐘將當(dāng)時(shí)的數(shù)據(jù)打印到/tmp/1.txt中

然后esc –》:wq退出

保存之后重啟服務(wù)

root123456@ubuntu:~$ sudo service cron restart

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

查看結(jié)果

root123456@ubuntu:~$ cat /tmp/1.txt

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

每分鐘去打印一次時(shí)間到1.txt上

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

定時(shí)執(zhí)行任務(wù)這步就可以確定定時(shí)可以使用了額,,上面的配置是測(cè)試定時(shí)任務(wù),,認(rèn)識(shí)到定時(shí)啟動(dòng)任務(wù)是什么形式的,還可以去找其他的例子,,變換時(shí)間 和執(zhí)行的命令自己做測(cè)試,。

這步驟是為了后面做鋪墊,是后面的基礎(chǔ),,就先在這提前介紹了,。因?yàn)楹竺婧堋凹で椤眮聿患霸敿?xì)補(bǔ)充定時(shí)功能。

2,、發(fā)送郵件相關(guān)配置

我認(rèn)為重點(diǎn)和難點(diǎn)就是郵件的發(fā)送

自動(dòng)發(fā)送郵件,,使用命令行的方式發(fā)送郵件。先來陪著兩個(gè)郵件服務(wù)mutt msmtp

在ubuntu下安裝mutt很方便,,只需要sudo apt-get install mutt

sudo apt-get install mutt

另外需要安裝msmtp,,一個(gè)發(fā)郵件的小工具,sudo apt-get insall msmtp,。

sudo apt-get insall msmtp

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

在安裝的過程中會(huì)出現(xiàn)package configuration,這時(shí)候發(fā)現(xiàn)無發(fā)選到ok

按住Tab點(diǎn)亮ok 然后按住Enter鍵,,接下來一頓默認(rèn)猛如虎的操作(就乖乖的選默認(rèn))

假裝有圖(安過后就忘了截圖嚕?。?/p>

配置Muttrc

打開文件,路徑/etc/Muttrc

set sendmail='/usr/bin/msmtp' set use_from=yes

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

配置msmtp

msmtp默認(rèn)沒有,所以在/etc路徑下創(chuàng)建msmtprc配置文件

我本想用日志文件做測(cè)試,,創(chuàng)建/var/log/msmtp.log,,如果發(fā)生錯(cuò)誤的話,能檢測(cè)到原因

打開msmtprc文件配置下面的內(nèi)容

account default host smtp.163.com 不要?jiǎng)觙rom [email protected] 你的郵箱

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

這個(gè)設(shè)置權(quán)限步驟,,只要你膽子大就不用(我是沒改,太難了)

由于我們的密碼是明文,,所以要稍稍的修改下權(quán)限(哈哈,,你看不到我的pw,你看不到)

chmod 600 msmtprc

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

現(xiàn)在基本配置完成了,,使用命令行輸出測(cè)試一波

我把以my_first_test為主題,test為內(nèi)容的郵件發(fā)送到另一個(gè)我的郵箱

echo 'test' |mutt -s 'my_first_test' [email protected]

哈哈,成功

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

到這里郵箱配置的環(huán)境可以了,,現(xiàn)在只能只能用命令行發(fā)送郵件。如何做到自動(dòng)發(fā)送,,且向下see

常見的報(bào)錯(cuò),,搜一下一大推解決方案,奔潰邊緣就重新配置,,從0開始,!

mutt的常用命令

mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<郵件文件>][-F<配置文件>][-H<郵件草稿>][-i<文件>][-m<類型>][-s<主題>][郵件地址]

Linux命令參數(shù):

-a<文件>

-b<地址>

-c<地址>

-f<郵件文件>

-F<配置文件>

-h 顯示幫助。

-H<郵件草稿> 將指定的郵件草稿送出

-i<文件>

-m<類型>

-n 不要去讀取程序培植文件(/etc/Muttrc)

-p 在mutt中編輯完郵件后,,而不想將郵件立即送出,,可將該郵件暫緩寄出。

-R 以只讀的方式開啟郵件文件

-s<主題>

-v 顯示mutt的版本信息以及當(dāng)初編譯此文件時(shí)所給予的參數(shù),。

-x 模擬mailx的編輯方式,。

-z 與-f參數(shù)一并使用時(shí),若郵件文件中沒有郵件即不啟動(dòng)mutt,。

舉個(gè)橘子:

mutt -s 'subject' -a /home/admin/backup.tar.gz <>

-s: 郵件標(biāo)題,,用''括上

-a: 郵件附件。如上命令就是將/backup目錄下 backup.tar.gz文件作為附件發(fā)送,。

<>

給多人發(fā)送郵件,,只要在郵箱地址后加空格接著輸入郵箱地址即可,如:

mutt -s 'subject' -a /home/admin/backup.tar.gz <>

網(wǎng)易163郵箱獲取授權(quán)碼

163免費(fèi)郵箱可以直接要網(wǎng)頁(yè)上進(jìn)行收發(fā)郵件,,,,如果在客戶端上收發(fā)郵件必須使用授權(quán)碼才能夠使用

授權(quán)碼163郵箱的一個(gè)安全機(jī)制

登錄163郵箱,在設(shè)置里面

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

查看,,應(yīng)該是沒開啟的狀態(tài),我的開啟了

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

點(diǎn)擊開啟,,手機(jī)驗(yàn)證,輸入的密碼就是上面配置中輸入的密碼

同時(shí)開通POP3/SMTP/IMTP郵件收發(fā)服務(wù),,你的手機(jī)郵件都會(huì)記錄下這個(gè)密碼的,。

在測(cè)試的時(shí)候出現(xiàn)錯(cuò)誤:不要怕,去翻譯去百度(我就是這么煎熬的過來的)

3,、執(zhí)行腳本編寫

前面的的步驟成在Ubuntu上配置,,下面就讓發(fā)送郵件和定時(shí)功能結(jié)合起來,編寫.sh小腳本

在tmp下創(chuàng)建emil文件夾

測(cè)試小實(shí)驗(yàn):

在里面創(chuàng)建a.sh文件,,輸入

echo 'aaaaaaaaaa' | mutt -s 'this is title' [email protected]

郵箱是要發(fā)到的郵箱,。

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

bash '/tmp/email/a.sh'

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

收到郵件

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

然后在crontab中定時(shí)執(zhí)行這個(gè)腳本

crontab -e

添加定時(shí)語句,,每一分鐘執(zhí)行一次a.sh的腳本

*/1 * * * * bash /tmp/email/a.sh

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

保存 退出 重啟服務(wù)器

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

這是就會(huì)每分鐘自動(dòng)發(fā)送給你一次郵件

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

不行我要趕緊關(guān)了,,這一分鐘一次也太煩了?。⌒?shí)驗(yàn)到此實(shí)驗(yàn)成功,!

下面寫將python爬取數(shù)據(jù)的1.txt文本中的內(nèi)容發(fā)送到郵件上的.sh腳本

同樣的步驟依舊在原email的目錄下創(chuàng)建1.sh和1.txt

編寫1.sh內(nèi)容

echo 'this is my computer'|mutt -s 'my_conputer server' [email protected]

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

然后讓他定時(shí)運(yùn)行腳本

*/30 * * * * bash /tmp/email/1.sh

30分鐘給我發(fā)送一次,自己可以任意修改時(shí)間

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

保存,,重啟服務(wù)

完成.sh腳本的編寫

python爬蟲程序的編寫,將爬取的內(nèi)容加入的/tmp/email/1.txt文檔中

附錄:隨手最簡(jiǎn)單的爬蟲小程序

import urllib.request

from bs4 import BeautifulSoup

url=' http:///'

html=urllib.request.urlopen(url).read()

soup=BeautifulSoup(html,'lxml')

ps=soup.find_all('p')

i=[]

for p in ps:

i.append(p.get_text())

with open ('/tmp/email/1.txt','w+') as f:

f.writelines(i)

實(shí)現(xiàn)過程 寫好程序同樣也放在email的目錄下

然后crontab加入定時(shí)運(yùn)行python

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

定時(shí)運(yùn)行py

總過程結(jié)束

效果圖:

網(wǎng)頁(yè)顯示:將郵件放在指定的郵箱,。

神級(jí)程序員的Python爬蟲!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

網(wǎng)頁(yè)

手機(jī)端顯示:設(shè)置為每?jī)煞昼娊邮芤淮梧]件,。

神級(jí)程序員的Python爬蟲,!服務(wù)器定時(shí)發(fā)郵件(知識(shí)點(diǎn)全面)

iphone

做這個(gè)小的應(yīng)用集成,無非是做簡(jiǎn)單的技術(shù)實(shí)現(xiàn),,腦洞打開-同樣也可以將里面的部分內(nèi)容去置換,。發(fā)送的郵件,不是這些無味的粗糧,,如一些log日志,,跟進(jìn)工作中的copy事項(xiàng),去完成其所需要的要求,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多