原创 matplotlib數據可視化入門-python

matplotlib是matlab的python api接口,可以製作出高質量的2D以及3D圖形。操作簡單,只需幾行代碼就可以搞定大部分的數據可視化需求,實乃幸事。本文假設我們已經安裝了必備的庫。 一、創建figure和axes對

原创 windows下安裝python basemap時使用Visual Studio編譯geos時遇到的問題以及解決方法

python的basemap這個庫是建立在geos上的,所以我們就需要先安裝geos。使用環境是windows,於是我就下載了3.5.0版本,但在安裝編譯geos時遇到了一個小問題,如下圖所示: 這一看就是源代碼出了問題,可

原创 python實現雙向鏈表

相對於單向鏈表,雙向鏈表多了一個指向前面一個節點的指針,如下圖所示: 圖片來源於網絡 利用python實現也非常的容易: class Node(object): def __init__(self, value):

原创 python網絡爬蟲(一)

Python是一門高級的動態的語言,利用它進行網絡數據的抓取是非常方便的。代碼的實現非常的精簡。 在本次python爬蟲中,我們將使用到以下python第三方庫: 1.requests(urllib3) 用於發起http請求,相對

原创 python之禪 The Zen of Python

The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is bette

原创 scrapy-redis(八):安裝scrapy監控app--graphite

graphite是基於python創建的一個web監控程序,分三個部分組成: (1)carbon:一個twisted守護進程,用於監聽時間序列的數據。 (2)whisper:數據庫,用於存放時間序列的數據 (3)graphite-w

原创 scrapy-redis(二)

在scrapy中幫助我們進行一些預處理的組件稱之爲middleware。比如將request對象交給下載器下載之前,就會通過下載中間件的process_request()方法。這些中間件的用處非常大,我們可以詳細的瞭解,以方便編寫自己的中

原创 git命令大全

git init # 初始化本地git倉庫(創建新倉庫) git config --global user.name "xxx"

原创 python網絡爬蟲(五):併發抓取

在進行單個爬蟲抓取的時候,我們不可能按照一次抓取一個url的方式進行網頁抓取,這樣效率低,也浪費了cpu的資源。目前python上面進行併發抓取的實現方式主要有以下幾種:進程,線程,協程。進程不在的討論範圍之內,一般來說,進程是用來開啓多

原创 scrapy-redis(四):使用xpath時的一個小細節

在解析網頁的時候,我們一般情況下使用的是xpath,因爲xpath定位很精準,基本上不會出現定位錯位,獲取到髒數據的情況。xpath使用起來也是非常的方便,firefox就有xpath的插件,可以直接定位獲取到一個元素,而不用我們手動的去

原创 scrapy-redis介紹(一)

scrapy是python裏面一個非常完善的爬蟲框架,實現了非常多的功能,比如內存檢測,對象引用查看,命令行,shell終端,還有各種中間件和擴展等,相信開發過scrapy的朋友都會覺得這個框架非常的強大。但是它有一個致命的缺點,不支持分

原创 python網絡爬蟲(三)

在第二篇中我們介紹從響應中提取結構化數據,那接下來就是需要保存數據。對於html網頁(主要用於緩存)和結構化數據的保存,我選擇了MySQL, 當然也可以使用NoSQL的產品, 比如mongodb;對於網頁中提取出的url,我們可以保存到本

原创 scrapy-redis(七):部署scrapy

一般我們寫好scrapy爬蟲,如果需要啓動的話,需要進入scrapy項目的根目錄,然後運行以下命令: scrapy crawl {spidername} 這樣我們就可以在終端查看到爬蟲信息了。但爬蟲運行狀態還需要給上級領導看,或者自己有空

原创 tornado學習筆記(一):如何給ioloop.run_sync()中調用的函數傳入參數

問題 如何給tornado.ioloop.IOLoop中的run_sync方法中調用的函數添加參數 解決方案 使用functools.partial 解決示例 from tornado import gen from

原创 scrapy-redis(六):scrapy中如何定時的運行一個任務

相信開發過scrapy的朋友對scrapy終端的日誌輸出非常熟悉,它會間隔一段時間輸出抓取的狀態,比如最近60秒內,抓取了幾個網頁,成功獲取到了幾個item。這些對於我們觀察spider的運行是非常有用的,我們可以觀測spider的抓取情