1. 程式人生 > >Python爬蟲手記(三):全球行情實時監控

Python爬蟲手記(三):全球行情實時監控

問題描述:

以重要經濟引數為例,進一步鞏固爬蟲和資料庫使用技巧:完成對國際現貨與期貨石油價格、美元人民幣匯率、美元指數等資料的實時監控,取樣頻率為一小時一次,相關資料的取樣頁面需要自己搜尋。

看到問題,心裡大概就有一個底了:首先找到一個網頁能顯示原油價格,找到其url,然後用正則摳出來,其他三個也類似。那我們接下來走走看。

1、尋找URL

首先百度一下美元指數吧,進去看到這樣的網頁:

用F12,監控網路,使用它的搜尋功能,搜尋上圖中紅色的美元指數:'89.3700',其中多個地方有它的出現,都看了遍,發現了這個:


找了找,這裡面也有我要的其他指標!接下來用正則把它扣出來就好了。

這是我的程式碼:

<span style="font-size:14px;">def dollar():
    req = urllib2.Request(url_dollar)
    data = urllib2.urlopen(req).read()
    print data
    r1 = 'var hq_str_DINIW="(.*?),(.*?),'
    r2 = 'var hq_str_hf_CL="(.*?),'
    r3 = 'var hq_str_USDCNY="(.*?),(.*?),'

    m1 = re.compile(r1).findall(data)
    m2 = re.compile(r2).findall(data)
    m3 = re.compile(r3).findall(data)

    print '時間:',m1[0][0],'美金指數:',m1[0][1],'原油指數',m2[0],'人民幣美金匯率:',m3[0][1]
</span>

每小時執行一次只要加迴圈就可以了。

然後就是將所得資料存入資料庫。

完整程式碼見我的github:https://github.com/deepexpert-chenkai