1. 程式人生 > >爬蟲--爬取csdn訊息並郵箱通知(python3)

爬蟲--爬取csdn訊息並郵箱通知(python3)

之前有很多同學給我發訊息,諮詢相關問題,我都沒能及時回覆解答。

主要原因是工作比較忙,部落格沒有每天登入檢視訊息。等到開啟訊息,看一些同學的訊息,無奈都已經過去了多天。

所以這裡寫了個小指令碼,每天爬取部落格訊息通知,如果有新訊息,就傳送到個人郵箱提醒。

程式碼如下:

#Version: python3
#Author: 程鬆
#-*- coding: utf-8 -*-

import urllib
import http.cookiejar
from bs4 import BeautifulSoup
from email.header import Header
from email.mime.text import
MIMEText from email.utils import parseaddr, formataddr import smtplib #爬取csnd部落格訊息資訊 def run_spider(): cookie = http.cookiejar.CookieJar() handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler) loginurl = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
#登陸前準備:獲取lt和exection response = opener.open(loginurl) soup = BeautifulSoup(response.read(), "lxml") for input in soup.form.find_all("input"): if input.get("name") == "lt": lt = input.get("value") if input.get("name") == "execution": execution = input.get("value"
) #post資訊 values = { "username":"*******@qq.com", #部落格帳號 "password":"******", #部落格密碼 "lt":lt, "execution":execution, "_eventId":"submit" } postdata = urllib.parse.urlencode(values).encode(encoding='UTF8') headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36' } request = urllib.request.Request(loginurl, postdata, headers) result=opener.open(request) # #登陸後跳轉到部落格訊息頁面 url = "http://msg.csdn.net/" result_response = opener.open(url) result_soup = BeautifulSoup(result_response.read(), "html.parser") result_unread_count=result_soup.find_all('b') result_unread_count_text = result_unread_count[0].text return result_unread_count_text # 傳送爬蟲內容到郵件 def send_email(result_unread_count_text): def _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr)) from_addr = '*******@sina.com' #傳送郵箱帳號 password = '******' #傳送郵箱密碼 to_addr = '[email protected]' #接受郵箱帳號(pd:這是本人郵箱,請不要隨意發垃圾資訊) smtp_server = 'smtp.sina.com' msg = MIMEText('部落格有'+'result_unread_count_text'+'條未讀訊息', 'plain', 'utf-8') #內容 msg['From'] = _format_addr('程鬆 <%s>' % from_addr) #發件人 msg['To'] = _format_addr('程鬆 <%s>' % to_addr) #收件人 msg['Subject'] = Header('部落格有新訊息啦……', 'utf-8').encode() #主題 server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit() print('已經成功將:" %s "傳送到%s,請查收'%(str(result_unread_count_text),to_addr)) if __name__ == '__main__': result_unread_count_text=run_spider() if result_unread_count_text!='': send_email(result_unread_count_text) else: print("部落格沒有新訊息!")

相關推薦

爬蟲--csdn訊息郵箱通知python3

之前有很多同學給我發訊息,諮詢相關問題,我都沒能及時回覆解答。 主要原因是工作比較忙,部落格沒有每天登入檢視訊息。等到開啟訊息,看一些同學的訊息,無奈都已經過去了多天。 所以這裡寫了個小指令碼,每天爬取部落格訊息通知,如果有新訊息,就傳送到個人郵箱提醒。

python 爬蟲所有上市公司公告資訊

。,。前面我們已經瞭解了python中多執行緒,selenium,requests等爬蟲基本操作的知識,現在我們準備編寫一個規模較大的爬蟲,目的是爬取所有上市公司2015年至今的公告資訊。 相較於前面幾個簡單的爬蟲功能程式碼,公告資訊爬蟲需要考慮更多的問題,現在可以預見到的

python 爬蟲所有上市公司公告資訊

。,。現在我們進過for迴圈,已經獲取到了每一個股票程式碼在2015年至今所有的公告內容連線和公告日期,且是以(日期,公告內容url)元組的形式加入到了爬取佇列中, 在最內層迴圈結束後,我們編寫程式實現多執行緒和儲存公告內容的功能。 公告最終在對應的json檔案裡是以鍵值對

python 爬蟲所有上市公司公告資訊

。,。設計公告資訊爬蟲面臨的主要問題在上一篇文章已經敘述過了,這篇文章我們選擇合適的資料來源和爬取的方式 首先選擇爬取的資料來源,這裡筆者經過多方比較,最終選擇了東方財富網作為公告爬蟲的資料來源。 下面以飛馬國際為例(002210) 我們可以看到,東方財富網專門設有網頁儲

網頁的兩種方法python3

'''一''' import urllib.request response=urllib.request.urlopen("http://www.baidu.com/") html=response.read() print(html.decode("utf8")) '''二''' import urlli

Python爬蟲-伯樂線上美女郵箱

爬取伯樂線上美女郵箱   1.登入介面的進入,設定url,cookie,data,headers 2.進入主頁,點選郵箱連結,需要重新設定url,cookie(讀取重新儲存的cookie),data,headers 1 ''' 2 爬取伯樂線上的美女聯絡方式 3 需

爬蟲csdn登陸頁面持續載入,selenium模擬無法進行的解決方案

1.近日在爬取csdn時發現csdn突然需要登陸了,登陸沒關係,用selenium模擬填寫個登陸表單也就行了,但實際操作中發現,模擬進行到登陸頁面時頁面持續載入,後續步驟無法進行,自然無法登陸和爬取,如下圖: 只要在一定時間後終止瀏覽器繼續載入就行,嘗試了下面

python3爬蟲 -----大學資訊通過matplotlib與numpy繪製結果-----from最好大學網

爬取大學資訊並 通過matplotlib與numpy繪製多指標柱形圖 就某一因素繪製餅圖並突出其中一個物件(本例中為江西理工大學) 1 # -*- coding:utf-8 -*- 2 # author:zxy 3 # date:2018-12-24 4 # upda

python爬蟲csdn部落格專家所有部落格內容

#coding:utf-8 import urllib2 from bs4 import BeautifulSoup import os import re #import sys #reload(sys) #sys.setdefaultencoding("utf-8") def getPage(hre

【圖文詳解】scrapy爬蟲與動態頁面——拉勾網職位資訊1

5-14更新 注意:目前拉勾網換了json結構,之前是content - result 現在改成了content- positionResult - result,所以大家寫程式碼的時候要特別注意加上

【圖文詳解】scrapy爬蟲與動態頁面——拉勾網職位資訊2

上次挖了一個坑,今天終於填上了,還記得之前我們做的拉勾爬蟲嗎?那時我們實現了一頁的爬取,今天讓我們再接再厲,實現多頁爬取,順便實現職位和公司的關鍵詞搜尋功能。 之前的內容就不再介紹了,不熟悉的請一定要去看之前的文章,程式碼是在之前的基礎上修改的

使用BeautifulSoup“0daydown”站點的信息2——字符編碼問題解決

snippet sni 結束 編碼錯誤 charset utf 教程 作者 request 上篇中的程序實現了抓取0daydown最新的10頁信息。輸出是直接輸出到控制臺裏面。再次改進代碼時我準備把它們寫入到一個TXT文檔中。這是問題就出來了。 最初我的代碼例如以

Android安卓狀態列訊息推送通知Notification

我從不猜測,猜測是一個很壞的習慣——會影響正常的邏輯推理能力。              ——阿瑟·柯南·道爾 《福爾摩斯探案集》 近日,在做安卓專案開發的時候涉及到狀態列通知的需求,查了資料,總結一個簡

網易雲音樂“三部曲”歌手資訊!

提到歌神張學友,大家可能不會陌生或者說是如雷貫耳,他可是有著逃犯殺手之稱,這不明天1月11號是他2019世界巡迴演唱會《香港站》的開辦日期,不知香港警方有沒有做好抓逃犯的準備【手動滑稽】。對於歌神明天的演唱會,小編其實挺嚮往的,只是奈何年底了,天天要工作,作為一個程式猿,這也是沒辦法的,為了排遣內心

網易雲音樂“三部曲”:輕鬆下載網易音樂歌曲!

本文是承接前兩文章而來,前兩篇文章我們收集了歌手資訊和歌詞,可是光有歌手資訊和歌詞沒有歌曲怎麼行,沒有歌曲怎麼知道音調,這讓人怎麼學?怎麼聽?這不耍流氓嘛?為了向大家證明小編不是耍流氓,是耍無賴,我決定教大家直接把網易雲音樂歌手的熱門歌曲全部免費下載下來。除了已經下架不在網易資料庫的,其他的都能全部

網易雲音樂“三部曲”:獲取網易雲音樂歌手歌詞!

上一篇文章爬取了歌手的姓名和歌手的 id ,這篇文章根據上篇爬取的歌手 id 來直接下載對應歌手的歌詞。這些我其實可以寫成一個大專案,把這個大專案拆成小專案一來方便大家的理解,二來小專案都會了的話,拼在一起就是一個完整的專案了。 上篇文章沒學會的也不要緊,私信小編可以獲取上次的爬取結果 c

爬蟲系列2-----pythonCSDN博客首頁所有文章

成功 -name 保存 eas attr eve lan url att 對於Python初學者來說,爬蟲技能是應該是最好入門,也是最能夠有讓自己有成就感的,今天在整理代碼時,整理了一下之前自己學習爬蟲的一些代碼,今天上第2個簡單的例子,python爬取CSDN博客首頁所有

簡易python爬蟲boss直聘職位,寫入excel

python爬蟲寫入excel1,默認城市是杭州,代碼如下#! -*-coding:utf-8 -*-from urllib import request, parsefrom bs4 import BeautifulSoupimport datetimeimport xlwt starttime = dat

用Python爬蟲豆瓣電影、讀書Top250排序

更新:已更新豆瓣電影Top250的指令碼及網站 概述 經常用豆瓣讀書的童鞋應該知道,豆瓣Top250用的是綜合排序,除使用者評分之外還考慮了很多比如是否暢銷、點選量等等,這也就導致了一些近年來評分不高的暢銷書在這個排行榜上高高在上遠比一些經典名著排名還高,於是在這裡打算重新給To

★ Python爬蟲 - 網頁文字資訊儲存美文的與儲存

 本篇文章所包含的主要內容:  使用requests模組實現對網頁以字串的形式儲存 使用open()、write()、close()函式實現檔案的開啟與寫入 使用if() 條件語句對所需要的文字資訊進行過濾以形成一個專用提取函式 &n