Python簡單兩步實現天氣爬蟲採集器

2021-06-12 11:36:01 字數 1435 閱讀 4819

說道爬蟲大家或許感覺非常神秘,其實它沒有我們想象的那麼神奇(當然,google和baidu的爬蟲是一場複雜和強大的,它的強大不是爬蟲本身強大,而是後台的資料處理和資料探勘演算法非常強大),今天我們就來揭開它神秘的面紗。呵呵,用python簡單兩步就可以實現乙個網頁天氣爬蟲程式。。。

爬蟲簡單說來包括兩個部分:1.獲得網頁文字資訊。2.資料分析,獲取其中我們想要的資料。

python在獲取html方面十分方便,有了urllib庫的幫助,只需要幾行**就可以實現我們需要的功能。 123

4567

#引入urllib庫

import

urllib

def

gethtml(url):

page 

=

urllib.urlopen(url)

html 

=

page.read()

page.close()

return

html

這裡返回的就是網頁的源**,也就是html**。

那我們如何從中得到我們想要的資訊呢?那就需要用到在網頁分析裡面最最常用的工具 - 正規表示式 了。

使用正規表示式時需要仔細觀察該網頁資訊的結構,並寫出正確的正規表示式。

python正規表示式的使用也很簡潔: 123

45

6#引入正規表示式庫

importre

def

getweather(html):

reg 

=

'(.*?).*?(.*?).*?(.*?)'

weatherlist 

=

re.compile

(reg).findall(html)

return

weatherlist

說明:其中reg是正規表示式,html是第一步獲得的文字。findall的作用是找到html中所有符合正則匹配的字串並存放到weatherlist中。之後再列舉weathelist中的資料輸出即可。

這裡的正規表示式reg有兩個地方要注意。

乙個是「(.*?)」。只要是()中的內容都是我們將要獲得的內容,如果有多個括號,那麼findall的每個結果就都包含這幾個括號中的內容。上面有三個括號,分別對應城市、最低溫和最高溫。

另乙個是「.*?」。python的正則匹配預設是貪婪的,即預設盡可能多地匹配字串。如果在末尾加上問號,則表示非貪婪模式,即盡可能少地匹配字串。在這裡,由於有多個城市的資訊需要匹配,所以需要使用非貪婪模式,否則匹配結果只剩下乙個,且是不正確的。

簡單兩步實現鐵威馬NAS外網訪問

想要讓nas使用起來更加的方便,只有區域網共享是遠遠不夠的,內外網同步是必須的。當然,這還需要其它硬體的支援,乙個是nas自身的網域名稱 功能,但經過試驗,遠端管理還是靠譜的,但要遠端訪問nas中的檔案,速度就要大打折扣。為了解決這個問題,經過多方試驗,最後我找到了一條捷徑,下面就和大家分享一下。第...

caddy 兩步搭建超簡單雲盤

cd curl bash s personal http.filemanagervim caddyfile內容如下 80這裡的8080埠號可以隨意指定,如果在手機termux等搭建,由於手機許可權比較低,所以一般設定1024以上的埠.80埠可以直接通過ip訪問。如118.24.217.167 如果用...

Python簡單爬蟲(爬取天氣資訊)

初學python,學到python爬蟲時在網上找資料,發現找到的大部分都是前部分內容對運作方式介紹,然後就直接上 了,這樣對像我一樣的小白來說比較困難,的注釋較少,部分 塊沒有詳細說明運作方式和具體作用,所以寫此筆記方便別人和自己以後進行學習檢視。作業系統window python2.7.10 wi...