色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python打造最強表白程序

電子工程師 ? 來源:lq ? 2019-02-18 09:47 ? 次閱讀

情人節剛過,朋友圈又是刷屏的節奏。但熱鬧總是別人的,我們好像只有吃狗糧的份。時間總是飛快流逝,很多事情早已改變,但仿佛只有你的單身狀態從未改變。

單身久的我們,好像覺得一個人過也沒什么的。但即使非常享受單身生活,大家也要保持“可勾搭”的待機狀態,因為促進荷爾蒙分沁有益身心健康。

在這個人人都在秀的時候,做為程序員我們也要操作起來!散發你們的荷爾蒙!今天就大家奉獻上最強表白程序!此程序結合數據抓取 + 微信自動發消息 + 定時任務,實現一個能每天自動定時給你心愛的 ta 發送:你們相識相戀天數 + 情話 + 我愛你的圖片。具體的消息如下。

每天發送的消息格式如下:

message="""親愛的{}:早上好,今天是你和Koc相戀的第{}天~今天他想對你說的話是:{}最后也是最重要的!""".format("你的好友名稱",str(inLoveDays),love_word)

這里需要填寫的第一個字段是 ta 的稱呼,inLoveDays 為你們相識相戀的天數。

love_word 是每天為 ta 精心準備情話內容,當然如果你的文筆好也可以自己寫。

當然最后也是最重要的!每天不盡相同的「我愛你」圖片!

程序思路

本次程序運行的環境是 windows10 + Python 3.6,此次主要用到的庫有 selenium、itchat、request。程序主要分為兩部分第一數據的抓取,一些情話信息和圖片信息。另一部就是利用 itchat 自動發送消息給你的好友。

情話信息

如果對你的文筆有信心,那你可以自己寫些情話。當然大部分人的文筆跟我一樣是比較差的,所以這時候我們就可以利用網上的資源,比如下面的情話網站。

http://www.binzz.com/yulu2/3588.html

在抓取這個網站的情話時,如果你利用普通的爬取思路,即利用 request 進行請求,你會發現網頁獲取的數據是亂碼并且不完整。所以在這塊為了操作方便,我利用了 selenium 的 PhantomJS 無頭瀏覽器,來獲取網站的信息。

通過 selenium + xpath 我們就可以很輕松的獲取到網頁情話,最后把獲取到的數據保存到當前目錄下的「love_word.txt」方便之后的讀取。

表白圖片資源

為了配合此次表白程序,我專門去找了些帶有「我愛你」的圖片資源。通過下面的貼吧貼子,我們就可以獲取到大量的這樣資源。

http://tieba.baidu.com/p/3108805355

此貼并沒有很強的反爬措施,所以我簡單的利用 request + re 來獲取到圖片資源,并保存到當前目錄的下「img」文件里。

在保存圖片資源之前,我會先檢查當前目錄下是否有「img」文件夾,如果沒有則會自動創建。

表白程序源碼

此次表白程序主要有 5 個函數

crawl_Love_words()

此函數通過 selenium +xpath來抓取情話網站的資源,并存入到當前目錄下的「love_word.txt」文件。

defcrawl_Love_words():print("正在抓取情話...")browser=webdriver.PhantomJS()url="http://www.binzz.com/yulu2/3588.html"browser.get(url)html=browser.page_sourceSelector=etree.HTML(html)love_words_xpath_str="http://div[@id='content']/p/text()"love_words=Selector.xpath(love_words_xpath_str)foriinlove_words:word=i.strip(" u3000u3000").strip()withopen(love_word_path,"a")asfile:file.write(word+" ")print("情話抓取完成")

crawl_love_image()

此函數用來爬取貼吧帶有「我愛你」的圖片資源,通過 request + re 來實現。代碼并不復雜,在正則表達式那也簡單的寫了一個,用來匹配當前也所有的圖片資源。

defcrawl_love_image():print("正在抓取我愛你圖片...")foriinrange(1,22):url="http://tieba.baidu.com/p/3108805355?pn={}".format(i)response=requests.get(url)html=response.textpattern=re.compile(r'.*?.*?

',re.S)image_url=re.findall(pattern,html)forj,datainenumerate(image_url):pics=requests.get(data)mkdir(pic_path)fq=open(pic_path+'\'+str(i)+"_"+str(j)+'.jpg','wb')#下載圖片,并保存和命名fq.write(pics.content)fq.close()print("圖片抓取完成")

mkdir(path)

此函數用來在當前目錄下創建一個新的文件夾,以便存儲相應的數據。

defmkdir(path):folder=os.path.exists(path)ifnotfolder:#判斷是否存在文件夾如果不存在則創建為文件夾os.makedirs(path)#makedirs創建文件時如果路徑不存在會創建這個路徑print("---newfolder...---")print("---OK---")else:print("正在保存圖片中...")

send_new()

此函數通過利用 itchat 庫,實現給你的微信好友自動發送消息。在這個函數中我利用 datetime 來計算你們之間相識相戀的時間。并且在登錄的時候添加了一個「hotReload=True」,這樣你就可以不用每次運行程序的時候都要登錄。關于 itchat 更多的操作,大家可以去網上查找相應的資料

defsend_news():#計算相戀天數inLoveDate=datetime.datetime(2018,8,15)#相戀的時間todayDate=datetime.datetime.today()inLoveDays=(todayDate-inLoveDate).days#獲取情話file_path=os.getcwd()+'\'+love_word_pathwithopen(file_path)asfile:love_word=file.readlines()[inLoveDays].split(':')[1]itchat.auto_login(hotReload=True)#熱啟動,不需要多次掃碼登錄my_friend=itchat.search_friends(name=u'你的好友名稱')girlfriend=my_friend[0]["UserName"]print(girlfriend)message="""親愛的{}:早上好,今天是你和Koc相戀的第{}天~今天他想對你說的話是:{}最后也是最重要的!""".format("你的好友名稱",str(inLoveDays),love_word)itchat.send(message,toUserName=girlfriend)files=os.listdir(pic_path)file=files[inLoveDays]love_image_file="D:\img"+filetry:itchat.send_image(love_image_file,toUserName=girlfriend)exceptExceptionase:print(e)

main()

main() 函數就是我們主邏輯函數,程序運行的邏輯順序就是在這個函數里規定的。在 main() 里我首先判斷下當前路徑下是否有「love_word.txt」文件,如果有則提示相應的信息,沒有的話才去執 crawl_Love_words() 函數,去網上抓取一些情話數據。

其次再判斷下當前目錄下是否有「img」文件夾,用來判斷我們是否有圖片資源,沒有則執行 crawl_love_image() 來抓取貼吧上的圖片資源。

最后我們所需的數據都已準備完善,則調用 send_news() 函數,整理下要發送的數據格式,然后自動給你的 ta 發送消息。

定時任務

每天定時發送我主要是用 while True 簡單的實現,通過判斷當前的時間是否是你所需要發送的時間,來達到每天定時發送。

表白程序使用教程

首先你把相應的源碼下載下來,后臺回復「表白」即可獲取。其次把相應的庫先事先安裝好,隨后運行程序則會顯示一個微信網頁登錄的二維碼,掃描登錄即可。

因為我在登錄時添加了「hotReload=True」,所以程序在下次運行時就無需再重新登錄。

總結

文章標題寫著「最強表白程序」,雖然有點夸張了,但此次的程序還有很多可以繼續添加的地方。比如對于發送的消息字段,我們還可以繼續添加天氣信息、星座信息、娛樂新聞、最近的趣事、最近好看的電影等等。只要你能想到的內容,都可以添加上去。

這些信息在網上都可以獲取的到,我們只要通過同樣的思路,先抓取到本地,然后進行讀取。當然如果你覺得存儲本地會有被刪的風險,那么你也可以保存到云端,在云端上進行存儲。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81303
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29370
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84956

原文標題:Python打造最強表白程序

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    表白神器:表白還是要浪漫點才行

    ` 本帖最后由 gada888 于 2016-8-25 08:41 編輯 看到壇子里那么多表白器,手癢也做了一個。這個表白器的主控是arduino,atmega328系平臺都可以用。另外這個系統
    發表于 08-24 15:50

    怎樣才能快速入坑PythonPython入門最強書單合集

    入門最強書單合集 一、《機器人Python青少年編程開發實例》 當當網、亞馬遜、京東等各大平臺暢銷Python編程圖書(某寶也可以買到,價格更低一些) 本書利用TumipBit口袋編程計算機(兼容
    發表于 08-22 17:01

    教你用Python做一個特別的表白禮物

    30秒教會你用Python制作520表白神器
    發表于 03-06 06:12

    Python編程實用指南

    Python 是一種解釋型、面向對象、動態數據類型的高級程序設計語言。通過 Python 編程,我們能夠解決現實生活中的很多任務。本書是一本面向實踐的 Python 編程實用指南。本書
    發表于 09-27 06:21

    Python程序員必須掌握從Python2到Python3的轉型

    本書的目標讀者是那些正在使用 Python,又想熟悉 Python 3 的程序員。如果你懂 Python2,但是想遷移到 Python 3.
    發表于 09-14 10:54 ?10次下載

    Python登上“最強王者”中國程序猿是“全場MVP”

    國內基于 Python 創業成功的案例不在少數,豆瓣,知乎,果殼,全棧都是 Python,大家對 Python 自然有信心。并且從這幾家公司出來的程序員與 CTO,創業的話一般都會選擇
    的頭像 發表于 02-16 10:23 ?2858次閱讀
    <b class='flag-5'>Python</b>登上“<b class='flag-5'>最強</b>王者”中國<b class='flag-5'>程序</b>猿是“全場MVP”

    Python的函數文件與模塊的程序說明

    “探索Python ” 這一系列的前幾篇文章已為Python 編程新手介紹了幾方面的主題, 包括變量、容器對象和復合語句。本文以這些概念為基礎,構造一個完整的Python 程序。引入了
    發表于 09-10 16:06 ?2次下載
    <b class='flag-5'>Python</b>的函數文件與模塊的<b class='flag-5'>程序</b>說明

    Python程序設計資料合集

    本文檔的主要內容詳細介紹的是Python程序設計資料合集免費下載。
    發表于 03-22 15:17 ?22次下載

    python程序組成

    python模塊對應python程序文件,每個python文件都是一個模塊。 模塊a.py導入模塊b.py后,在a.py可以使用使用b.py的全部變量。
    的頭像 發表于 02-21 14:45 ?1136次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>程序</b>組成

    程序表白程序

    電子發燒友網站提供《程序表白程序.rar》資料免費下載
    發表于 11-21 10:41 ?16次下載
    <b class='flag-5'>程序</b>員<b class='flag-5'>表白</b><b class='flag-5'>程序</b>

    python寫完程序之后怎么運行

    Python是一門簡潔、易學的編程語言,被廣泛應用于數據分析、人工智能等領域。在學習Python編程的過程中,了解程序的運行機制是至關重要的。本文將詳盡解析Python
    的頭像 發表于 11-22 11:10 ?1067次閱讀

    python怎么運行程序

    Python是一種廣泛使用的編程語言,它的簡易和可讀性使得它成為初學者和專業開發人員的首選。在運行Python程序之前,您需要安裝Python解釋器,然后按照以下步驟進行操作。 步驟1
    的頭像 發表于 11-24 09:25 ?2600次閱讀

    如何運行Python程序

    運行Python程序非常簡單。Python是一種解釋型語言,這意味著可以直接通過解釋器來執行代碼。下面我將詳細介紹如何運行Python程序
    的頭像 發表于 11-24 09:31 ?1315次閱讀

    運行Python程序的幾種常見方法

    Python是一種高級編程語言,具有簡單易學,易于閱讀和調試的特點。當你完成了一個Python程序之后,你需要運行它以檢查程序是否按照預期工作。下面是運行
    的頭像 發表于 11-28 15:32 ?2599次閱讀

    如何使用linux下gdb來調試python程序

    如何使用linux下gdb來調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試Python程序。GDB是一個強大的調試工具,可以幫助開發者診斷和修復
    的頭像 發表于 01-31 10:41 ?2714次閱讀
    主站蜘蛛池模板: a毛片基地免费全部视频 | 99精品热视频30在线热视频 | 久久伊人影院 | 成人麻豆日韩在无码视频 | 18女下面流水不遮网站免费 | jizz破处| 久久99AV无色码人妻蜜 | 麻豆XXXX乱女少妇精品-百度 | 古代荡乳尤物H妓女调教 | 亚洲精品久久AV无码蜜桃 | 超碰97 总站 中文字幕 | 国产SUV精品一区二区883 | 天堂草原天黑黑 | 伊人久久精品AV一区二区 | 成品片a免人看免费 | 伊人国产在线视频 | 午夜国产羞羞视频免费网站 | 精品一品国产午夜福利视频 | 国产高清美女一级毛片久久 | 精品无码一区二区三区中文字幕 | 床伴在线观看免费高清完整泰剧第四集 | 久久视频在线视频观看天天看视频 | 久久久久久91香蕉国产 | 99国产小视频 | 男人J进入女人P免费狂躁 | 成年人视频免费在线观看 | 无码欧美XXXXX在线观看裸 | 97SE亚洲国产综合自在线不卡 | 100国产精品人妻无码 | 4480YY旧里番在线播放 | 97精品视频在线观看 | 国产精品野外AV久久久 | 男人一生要读的书 | 精品无码久久久久久国产百度 | caoporn 在线视频 | 0855福利| 狠狠撩色姣姣综合久久 | 真实国产乱子伦精品一区二区三区 | 港台三级大全 | 国产 欧美 亚洲 日韩视频 | 视频专区亚洲欧美日韩 |