Python爬蟲小白入門(二)--服務(wù)器定時發(fā)送給郵件給你

忘了寶圖鎮(zhèn)文了疯搅。這期選擇我最喜歡的電影天才Alan Walker鎮(zhèn)樓,話說人家今年才是18~我都20了

開篇語

想象一下埋泵,當你跟別人聊天的時候幔欧,突然手機響了,你掏出來一看丽声,默默點了下頭礁蔗。朋友探過頭來問,誰的消息啊你淡定的告訴他:“哦雁社,這個啊浴井,是我的服務(wù)器發(fā)給我的,是我的爬蟲給我扒下來的簡書的數(shù)據(jù)”霉撵。閉上眼磺浙,你是不是仿佛能看到你朋友的眼神洪囤?~~

(補:機械原理考完了,機械原理考完了屠缭,機械原理考完了箍鼓;項目進度講完了~~~爽~~~~哦~~~燥起來~high起來)

正文

寫作動機崭参,跟上篇是類似的呵曹,我再復(fù)述一遍:

最近對簡書中毒很深,所以想要寫一個爬蟲何暮,放到服務(wù)器上奄喂,自己幫我隨時查看簡書的主頁的更新狀況,計劃中是這樣的:
這個爬蟲海洼,身兼數(shù)職:
** 1. 首先,每一個小時自動查詢簡書的主頁的文章;**
** 2. 然后琉朽,比對名字相同的文章在一個小時內(nèi)的閱讀量妙黍,喜歡,評論是整,打賞數(shù)目肖揣,全部存儲進入數(shù)據(jù)庫,然后進行處理浮入,比對龙优,分析出每一篇文章不同時間的增長幅度以及系數(shù)還有對他們的位置進行排序;**
** 3. 最后事秀,還要寫一個六小時自動執(zhí)行的數(shù)據(jù)匯總郵件發(fā)給我的腳本彤断。**

昨晚已經(jīng)寫過關(guān)于爬蟲從簡書爬數(shù)據(jù)的文章了,沒上首頁有點可惜易迹,爭取這一篇上去T籽谩!

代碼奉上(多次Debug睹欲,親測可用菩浙;記得開啟郵箱SMTP,下面有指導(dǎo))


import smtplib
from email.mime.text import MIMEText
from email.header import Header


#設(shè)置服務(wù)器(我用的gmail句伶,你們用的什么就換成什么
#比如qq劲蜻,163~記得登錄網(wǎng)頁版郵箱然后在設(shè)置里面修改支持smtp
mail_host="smtp.gmail.com" 
#用戶名
mail_user="MyGmailName@gmail.com"    
#郵箱密碼
mail_pass="MyPasswordOfGmail"   


sender = 'MyGmailName@gmail.com'
receivers = ['TheNameOfReceiver@163.com']  # 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱

#讀取我的自動爬蟲獲取的內(nèi)容
F = open("/home/test/bs.txt")
#list改成str格式考余,否則編碼不通過
f=str(F.readlines())

# 三個參數(shù):第一個為文本內(nèi)容先嬉,第二個 plain 設(shè)置文本格式,第三個 utf-8 設(shè)置編碼
message = MIMEText(f, 'plain', 'utf-8')
message['From'] = Header("your remote server", 'utf-8')
message['To'] =  Header("my lorder", 'utf-8')

subject = 'Python SMTP 郵件測試'
message['Subject'] = Header(subject, 'utf-8')


try:
    smtpObj=smtplib.SMTP_SSL(mail_host,465)
    smtpObj.set_debuglevel(1)
# smtpObj.connect(mail_host, 25)    # 25 為 SMTP 端口號
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print ("郵件發(fā)送成功")
except smtplib.SMTPException:
    print ("Error: 無法發(fā)送郵件")
QQ郵箱設(shè)置地址
qq的設(shè)置楚堤,開啟即可
163郵箱的設(shè)置疫蔓,同理可得

Linux自動發(fā)送設(shè)置

Linux中含懊,周期執(zhí)行的任務(wù)一般由cron這個守護進程來處理。cron讀取一個或多個配置文件衅胀,這些配置文件中包含了命令行及其調(diào)用時間岔乔。cron的配置文件稱為“crontab”,是“cron table”的簡寫滚躯。
相關(guān)命令

查看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 /etc/init.d/cron restart

在crontab文件中寫入需要執(zhí)行的命令和時間雏门,該文件中每行都包括六個域,其中前五個域是指定命令被執(zhí)行的時間掸掏,最后一個域是要被執(zhí)行的命令茁影。每個域之間使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands
合法值為:00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

除了數(shù)字還有幾個特殊的符號:"*"丧凤、"/"和"-"募闲、","
*代表所有的取值范圍內(nèi)的數(shù)字"/"代表每的意思,"/5"表示每5個單位"-"代表從某個數(shù)字到某個數(shù)字","分開幾個離散的數(shù)字

:commands 注意以下幾點
要是存在文件,要寫絕對路徑愿待。即使是打印也不會顯示在顯示屏浩螺,在后臺運行,最好重定向日志.

step1:寫cron腳本文件仍侥,命名為crontest.cron要出。
表示,每隔一小時访圃,執(zhí)行一次爬蟲命令 ,并且定向日志為bs.txt

00  * * * * python3 /home/test/bs.py > /home/test/bs.txt 
#這里有點多余的嫌疑厨幻,也就是,每一次寫入都會覆蓋前面的內(nèi)容腿时。相當于七次是白搞的况脆。不過,測試嘛批糟,任性~
00 08,16,23 * * *  python3 /home/test/mailtome.py 
Look,It like this

step2:添加定時任務(wù)格了。執(zhí)行命令
(在此之前先新建一個bs.log存放命令日志)

crontab /home/test/crontest.cron >> /home/test/bs.log

step3:"<code>crontab -l</code>" 查看定時任務(wù)是否成功或者檢測/var/spool/cron下是否生成對應(yīng)cron腳本

crontab -l
have a look

結(jié)果程序會每個小時里爬一次簡書(~T~簡書,你怕是不怕徽鼎?~T~)寫入文件bs.txt盛末,然后每8個小時發(fā)送一次給我~~

自動發(fā)送至我的郵箱咯。這就是效果出來啦~~~(咦~格式有點問題否淤,標簽沒去掉悄但。下次解決,今天先樂呵樂呵石抡,寫完我就去看B站啦)

結(jié)束語

今天特別開心檐嚣,上午一大早,兩年來僅有的幾次遲到課堂(九點出發(fā)去找老師做進度匯報啰扛,然后十點四十回來嚎京,遲到了半個小時的CAD技術(shù)課)嗡贺,但是,怎么比得上進度匯報結(jié)束的開心呢鞍帝?然后下午诫睬,照例點了一杯游泳館小集貿(mào)的正好茶(特調(diào)咖啡,HUSTers帕涌,我推薦哦)摄凡,然后悶頭在東九懟機械原理,晚上考完宵膨,感覺還可以架谎,不出意外90是保底炸宵,95有可能辟躏,要使老師改的松,接近100也不是沒可能hia 哈哈哈~~現(xiàn)在這么開心的在這兒寫文章土全,爽啊啊捎琐,后面更新會很頻繁的,因為本學(xué)期只剩下三節(jié)課裹匙,最近的考試還是本月27號~~爽到飛起瑞凑。鉆研技術(shù)!鉆研技術(shù)8乓场籽御!Python是我的本命語言之一,后期會繼續(xù)更新的惰匙,不過更多的就是關(guān)于爬蟲的調(diào)整了技掏,有興趣追更的朋友可以先去了解一下爬蟲,要資料的話可以直接私戳我项鬼,留下郵箱---我到時候直接發(fā)給你就好了哑梳。OK,寫的差不多了绘盟,找學(xué)妹聊天去了~~別誤會鸠真,也是一個簡書的人啦。最近想跟我學(xué)Python 龄毡。吠卷。。沦零。hiahia祭隔,自己還沒出師呢就收徒弟了~~~

個人宣言

知識傳遞力量,技術(shù)無國界蠢终,文化改變生活序攘!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茴她,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子程奠,更是在濱河造成了極大的恐慌丈牢,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞄沙,死亡現(xiàn)場離奇詭異己沛,居然都是意外死亡,警方通過查閱死者的電腦和手機距境,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門申尼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人垫桂,你說我怎么就攤上這事师幕。” “怎么了诬滩?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵霹粥,是天一觀的道長。 經(jīng)常有香客問我疼鸟,道長后控,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任空镜,我火速辦了婚禮浩淘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吴攒。我一直安慰自己张抄,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布舶斧。 她就那樣靜靜地躺著欣鳖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茴厉。 梳的紋絲不亂的頭發(fā)上泽台,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音矾缓,去河邊找鬼怀酷。 笑死,一個胖子當著我的面吹牛嗜闻,可吹牛的內(nèi)容都是我干的蜕依。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼样眠!你這毒婦竟也來了友瘤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤檐束,失蹤者是張志新(化名)和其女友劉穎辫秧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體被丧,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡盟戏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甥桂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柿究。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖黄选,靈堂內(nèi)的尸體忽然破棺而出蝇摸,到底是詐尸還是另有隱情,我是刑警寧澤糕簿,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布探入,位于F島的核電站狡孔,受9級特大地震影響懂诗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苗膝,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一殃恒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辱揭,春花似錦离唐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至域庇,卻和暖如春嵌戈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背听皿。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工熟呛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尉姨。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓庵朝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子九府,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容