Time of Update: 2016-06-10
一直想做個能幫我過濾出優質文章和部落格的平台 給它取了個名 叫Moven。。 把實現它的過程分成了三個階段:1. Downloader: 對於指定的url的下載 並把獲得的內容傳遞給Analyser--這是最簡單的開始2. Analyser: 對於接受到的內容,用Regular Expression 或是 XPath 或是 BeautifulSoup/lxml 進行過濾和簡化--這部分也不是太難3. Smart Crawler:
Time of Update: 2016-06-10
之前一篇文章我們學習了爬蟲的異常處理問題,那麼接下來我們一起來看一下Cookie的使用。為什麼要使用Cookie呢?Cookie,指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)比如說有些網站需要登入後才能訪問某個頁面,在登入之前,你想抓取某個頁面內容是不允許的。那麼我們可以利用Urllib2庫儲存我們登入的Cookie,然後再抓取其他頁面就達到目的了。在此之前呢,我們必須先介紹一個opener的概念。1.Opener當你擷取一個URL你使用一個
Time of Update: 2016-06-10
擷取帶有中文參數的url內容對於中文的參數如果不進行編碼的話,python的urllib2直接處理會報錯,我們可以先將中文轉換成utf- 8編碼,然後使用urllib2.quote方法對參數進行url編碼後傳遞。content = u'你好 sharejs.com'content = content.encode('utf-8')content = urllib2.quote(content)api_url = 'http://www.sharejs.com/q=%s'%contentres =
Time of Update: 2016-06-10
本節在這裡主要說的是URLError還有HTTPError,以及對它們的一些處理。1.URLError首先解釋下URLError可能產生的原因: 網路無串連,即本機無法上網 串連不到特定的伺服器 伺服器不存在在代碼中,我們需要用try-except語句來包圍並捕獲相應的異常。下面是一個例子,先感受下它的風騷import urllib2 requset = urllib2.Request('http://www.xxxxx.com')try:
Time of Update: 2016-06-10
產生隨機密碼這件事情用python來幹確實相當的方便,優美的string方法加上choice簡直是絕配make_password.py###簡單幾行代碼執行即可產生記不住的字串###$ python make_passwd.py DLrw9EiT Qs4Wm84q RQwl4L2L u9g0LgwW jHPtYdyU ...$ python make_passwd.py DLrw9EiT Qs4Wm84q RQwl4L2L u9g0LgwW jHPtYdyU ...代碼如下——注釋比代碼長#!/
Time of Update: 2016-06-10
面對大量雜亂的代碼夾雜文字我們怎樣把它提取出來整理呢?下面就開始介紹一個十分強大的工具,Regex!1.瞭解RegexRegex是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。Regex是用來匹配字串非常強大的工具,在其他程式設計語言中同樣有Regex的概念,Python同樣不例外,利用了Regex,我們想要從返回的頁面內容提取出我們想要的內容就易如反掌了。Regex的大致匹配過程是:
Time of Update: 2016-06-10
(一)關於Django Django是一個基於MVC構造的架構。但是在Django中,控制器接受使用者輸入的部分由架構自行處理,所以 Django 裡更關注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。 Ubuntu下的安裝:一般都內建Python的。網上教程比較多了....dizzy@dizzy-pc:~$ pythonPython 2.7.3 (default, Apr 20 2012, 22:44:07) [GCC 4.6.3] on
Time of Update: 2016-06-10
大家好,前面入門已經說了那麼多基礎知識了,下面我們做幾個實戰項目來挑戰一下吧。那麼這次為大家帶來,Python爬取糗事百科的小段子的例子。首先,糗事百科大家都聽說過吧?糗友們發的搞笑的段子一抓一大把,這次我們嘗試一下用爬蟲把他們抓取下來。本篇目標 抓取糗事百科熱門段子 過濾帶有圖片的段子 實現每按一次斷行符號顯示一個段子的發布時間,發布人,段子內容,點贊數。
Time of Update: 2016-06-10
(一)wxpython的安裝 Ubuntu下的安裝,還是比較簡單的。#使用:apt-cache search wxpython 測試一下,可以看到相關資訊dizzy@dizzy-pc:~/Python$ apt-cache search wxpythoncain - simulations of chemical reactionscain-examples - simulations of chemical reactionscain-solvers - simulations of
Time of Update: 2016-06-10
安裝Tornado省事點可以直接用grequests庫,下面用的是tornado的非同步client。 非同步用到了tornado,根據官方文檔的例子修改得到一個簡單的非同步爬蟲類。可以參考下最新的文檔學習下。 pip install tornado非同步爬蟲#!/usr/bin/env python# -*- coding:utf-8 -*-import timefrom datetime import timedeltafrom tornado import httpclient, gen,
Time of Update: 2016-06-10
先給大家展示下效果,感覺還很滿意請繼續閱讀全文: 用到的知識:Python Bottle HTML Javascript JQuery Bootstrap AJAX 當然還有 linux我去,這麼多……我還是一點一點說起吧……先貼最終的原始碼:#!/usr/bin/env python3from bottle import get,post,run,request,template@get("/")def index():return template("index")@post("/cmd")
Time of Update: 2016-06-10
Nagios是一款開源的免費網路監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換器路由器等網路設定,印表機等。在系統或服務狀態異常時發出郵件或簡訊警示第一時間通知網站營運人員,在狀態恢複後發出正常的郵件或簡訊通知。Nagios是調用公用平台的api介面發送警示郵件。在正式操作之前,有幾個準備工作要做。先安裝nagios,可以使用我提供的nagios一鍵安裝指令碼。然後是去公用平台申請一個企業號,我申請時填的是組織,沒有認證也可以使用。最後登入公用平台添加通訊錄,和建立應用
Time of Update: 2016-06-10
我們可以通過python 來實現這樣一個簡單的爬蟲猜密碼功能。下面就看看如何使用python來實現這樣一個功能。這裡我們知道使用者的暱稱為:heibanke密碼是30以內的一個數字,要使用requests庫迴圈提交來猜密碼主要需要用到的庫是requests庫安裝requests庫複製代碼 代碼如下:pip install requests要使用到的request庫的功能是表單的提交複製代碼
Time of Update: 2016-06-10
1、python裝飾器剛剛接觸python的裝飾器,簡直懵逼了,直接不懂什麼意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍資料,猜有點點開始明白了。總結了一下解釋得比較好的,通俗易懂的來說明一下:小P閑來無事,隨便翻看自己以前寫的一些函數,忽然對一個最最最基礎的函數起了興趣: def sum1(): sum = 1 + 2 print(sum) sum1()此時小P想看看這個函數執行用了多長時間,所以寫了幾句代碼插進去了: import time def sum1():
Time of Update: 2016-06-10
緩衝是指可以進行高速資料交換的儲存空間,它先於記憶體與CPU交換資料,因此速度很快。緩衝就是把一些資料暫時存放於某些地方,可能是記憶體,也有可能硬碟。在使用Scrapy耙梳站的時候,產生出來的附加產物,因為在Scrapy爬取的時候,CPU的已耗用時間緊迫度不高(訪問頻次太高容易被封鎖),藉此機會難得來上一下,讓自己的記憶體解放一下。演算法原理:通過將要緩衝的資料用二進位展開,得到的位元據映射到緩衝欄位上,要檢驗是否已經緩衝過,僅需要去尋找對應的映射位置即可,如果全部匹配上,則已經緩衝。#
Time of Update: 2016-06-10
OpenCV的全稱是Open Source Computer Vision Library,是一個跨平台的電腦視覺庫。OpenCV是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發即時的影像處理、電腦視覺以及模式識別程式。該程式庫也可以使用英特爾公司的IPP進行加速處理。OpenCV用C++語言編寫,它的主要介面也是C++語言,但是依然保留了大量的C語言介面。該庫也有大量的Python, Java and MATLAB/OCTAVE
Time of Update: 2016-06-10
簡單的地圖讀取、展示終於到暑假了。。。開始認真整理整理相關學習的心得體會咯~先把很久之前挖的關於C# 二次開發的坑給填上好了~ 這次先計劃用一個月把C# ArcEngine 10.0相關開發的學習心得給發布出來好啦~第一部分就是最簡單的helloworld了:掌握使用控制項建立簡單的GIS應用程式~(前期相關環境配置略掉~請自行百度~)首先開啟VS2010,,通過(檔案--建立--項目--Windos表單應用程式) ,我們建立一個名叫“MyHelloWorld”的Windows
Time of Update: 2016-06-10
前段時間一直使用pycharm寫pandas程式,對於大資料開發而言,開發一般是走一步想一步,pycharm不適合。網上推薦使用jupyter
Time of Update: 2016-06-10
在golang中,網路通訊協定已經被封裝的非常完好了,想要寫一個Socket的Server,我們並不用像其他語言那樣需要為socket、bind、listen、receive等一系列操作頭疼,只要使用Golang中內建的net包即可很方便的完成串連等操作~在這裡,給出一個最最基礎的基於Socket的Server的寫法:複製代碼 代碼如下:package main import ( "fmt" "net" "log" "os" ) func
Time of Update: 2016-06-10
列表產生式即建立列表的方式,最笨的方法就是寫迴圈逐個產生,前面也介紹過可以使用range()函數來產生,不過只能產生線性列表,下面看看更為進階的產生方式:>>> [x * x for x in range(1, 11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]寫列表產生式時,把要產生的元素x * x放到前面,後面跟for迴圈,就可以把list建立出來,十分有用,多寫幾次,很快就可以熟悉這種文法。你甚至可以在後面加上if判斷:>>> [x * x for x