Python天氣預報採集器(網頁爬蟲)

2022-02-16 05:08:46 字數 1038 閱讀 7518

python是一門很強大的語言,在實現爬蟲方面也十分方便。

爬蟲簡單說來包括兩個步驟:獲得網頁文字、過濾得到資料。

1、獲得html文字。

python在獲取html方面十分方便,寥寥數行**就可以實現我們需要的功能。

1

defgethtml(url):

2 page =urllib.urlopen(url)

3 html =page.read()

4page.close()

5return html

這麼幾行**相信不用注釋都能大概知道它的意思。

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

1

defgetweather(html):

2 reg = '

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

3 weatherlist =re.compile(reg).findall(html)

4return weatherlist

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

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

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

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

補充上爬蟲結果的截圖:

python的使用確實十分方便:)

Python小練習 採集天氣預報

view code 1 usr bin env python2 coding utf 8 3import urllib 4importre5 defgethtml url 6 page urllib.urlopen url 7 html page.read 8page.close 9return h...

python天氣預報

1.引入requests import requests def query now 查詢實時天氣 return none query city input 請輸入要查詢的城市名稱 2.準備url位址 url query city 3.發請求,接收資料 response requests.get u...

python爬蟲(簡易網頁採集器)

爬蟲基本流程 1 指定url 2 基於requests模組發起請求 3 獲取響應物件中的資料值 4 持久化儲存 關於爬蟲的君子協議 robots.txt 在 名後加 robots.txt檢視可以爬取的資訊 如 user agent 請求載體的身份標識 開啟瀏覽器,按f12出現抓包工具 如圖 可以使用...