目標天氣預報**:
需要用到的庫有requests(用來傳送請求和接收url)beautifulsoup(用來解析html文字)
爬蟲的基本思路:
1.首先傳送請求並返回requests(最好模擬谷歌瀏覽器的頭部訪問(即下面的headers),並且設定乙個每次訪問的間隔時間,這樣就不容易觸發**的反爬機制(說白了就是模擬人類的訪問行為))
2.獲得requests物件後使用beautifulsoup (美麗的湯??也不知道為啥要起這個名)來解析requests物件,注意這裡要用request.text,就取文字,解析後的soup列印出來其實就是整個html的字串內容,但是型別並不是string,應該是bs4型別,這就是這個美麗的湯的魅力所在,它可以直接在python用類似於ccs選擇器那樣的方式一層一層的尋找我們要的div內容。
3.搜尋soup物件中我們需要的內容,就是一層一層div找到對應的屬性,然後拿取我們需要的內容。(看html或者把之前的soup物件列印出來)
4.列印或儲存檔案
import requests
from bs4 import beautifulsoup
headers =
url=
''res = requests.get(url, headers=headers,timeout=20)
res.encoding =
'utf-8'
#print(res.status_code)
soup = beautifulsoup(res.text,
'html.parser'
)tem_list = soup.find_all(
'p',class_=
'tem'
)#存溫度
#print(tem_list)
day = soup.find(
'ul'
,class_=
't clearfix'
)#存日期
day_list = day.find_all(
'h1'
)#print(day_list)
wealist = soup.find_all(
'p',class_=
'wea'
)#存天氣
day_pre =
for i in
range(7
):try:
temhigh = tem_list[i]
.span.string #有時候沒有最高溫度,用第二天的代替
except attributeerror as e:
temhigh = tem_list[i+1]
.span.string
temlow = tem_list[i]
.i.string
wea = wealist[i]
.string
day_pre[day_list[i]
.string]
='最高溫度:'
+temhigh +
' 最低溫度:'
+ temlow +
' 天氣:'
ziheng 爬取天氣預報
import requests import city import time bj input 你想查詢哪個城市?most cold city 巴拉巴拉 most cold city wendu 100a 1for i in city.citycode.keys print 這是查詢的第 d個城市...
Google API 獲取天氣預報資訊
要獲得天氣預報資訊可用利用google提供的藉口,城市名稱 拼音 它將返回乙個用xml封裝的天氣資訊。示例 shanghai 返回 xml version 1.0 xml api reply version 1 weather module id 0 tab id 0 mobile row 0 mo...
Google API 獲取天氣預報資訊
要獲得天氣預報資訊可用利用google提供的藉口,城市名稱 拼音 它將返回乙個用xml封裝的天氣資訊。示例 shanghai 返回 xml version 1.0 xml api reply version 1 weather module id 0 tab id 0 mobile row 0 mo...