python免費自學爬蟲 python爬蟲學習

2021-10-18 14:46:08 字數 1702 閱讀 9357

近日,學習爬蟲基礎,自己寫了乙個小指令碼。

目標:每天晚上定時傳送第二天的工作專案到qq郵箱。

目的:頭天晚上得到第二天的工作計畫,好決定頭天晚上是否能喝酒過量、是否能麻將通宵等等等等。。。哈哈!

思路:1、從停電申請系統,統計出第二日的工作專案。

2、每天晚上定時傳送該專案到qq郵箱。

要解決的主要問題:

1、從停電申請系統獲取第二日的資料。

2、定時任務。

3、傳送郵件的指令碼。

步驟:1、獲取停電事件。

->使用fiddler觀察登入的資訊,記錄請求資源的資訊。

->使用requests庫,得到登入後的頁面資源

2、將獲取的資料傳送郵件至qq郵箱

->將該html頁面傳送郵件到qq郵箱

3、檢視郵件:

4、在郵件裡看到返回的資訊裡,批准的開工日期排序較亂,自己希望得到的是時間從早到晚的工作。

於是檢視請求資源資訊: "sortfieldname" : "state"。

改為:                       "sortfieldname" : "confirmstarttime"。

傳送一次,得到:

5、設定定時任務。

在win系統裡。執行「開始」 -> 「附加」 -> 「系統工具」 -> 「任務計畫程式」 -> 「操作」 -> 「建立基本任務」。

注:辦公室的電腦需要登入。注意該項需選上,保持自動執行狀態。

回顧:1、python真是簡單。各種庫太強大。

2、需要改進的地方。得到停電資訊後,下一步用正則獲取自己需要的部分,如只要停電時間與停電範圍。不用再傳送整個html頁面。只需傳送過濾後的資料。

3、將傳送郵件改為傳送手機資訊(看能不能找到免費傳送資訊的資源,嘿嘿。。。)

4、努力,奮鬥!

續:在前面獲得的資料為html**,其實需要的只是部分資訊。對實現進行改進:

1、先用的是beautifulsoup,獲取所需。後來發現乙個神器 --> pyquery ,相對來說,對jquery熟悉點,而pyquery使用類似的操作模式,獲取需要的內容。

2、定時傳送可以用windows自帶的定時任務,也可以自己寫乙個定時傳送指令碼,用time.sleep(second)設定時間就行,比如間隔一天,那就time.sleep(86400)  #60*60*24。

3、在傳送給多人時,msg['to'] = ",".join(send_to_list) #此處應為用逗號分隔的字串,而smtp.sendmail(from,send_to_list,msg)中,傳送位址可以直接為列表。

Python自學爬蟲

解除安裝前面 這是乙個半自動爬蟲,也就是手動的比較多 也是個人學習效果展示 如果對看到的人有幫助 那再好不過了 匯入正規表示式模組和csv模組 import re import csv 讀取檔案 with open source.txt r encoding gbk as f all str f.r...

杭州自學python爬蟲 自學PYTHON爬蟲

response urllib2.urlopen urlopen url,data,timeout 第乙個引數url即為url,第二個引數data是訪問url時要傳送的資料,第三個timeout是設定超時時間。第二三個引數是可以不傳送的,data預設為空none,timeout預設為 socket....

python爬蟲自學寶典 引言

1 通過網路向制定的url傳送請求,獲取伺服器的響應。2 使用某種技術 正規表示式,xpath等 提取頁面的資訊。3 高效的識別響應頁面中的鏈結資訊,順著這些鏈結遞迴執行上述第 一 二步。4 使用多執行緒有效的管理網路通訊互動。注 使用正規表示式雖然可以實現核心工作,但是正規表示式的效率沒有xpat...