最近小編在學(xué)習(xí)爬蟲,就想找個東西練練手躯枢,小說则吟、圖片、音樂什么的都爛大街了锄蹂,正好最近天氣是越來越冷氓仲,小編窩家里自己敲了個天氣簡單查詢的代碼,請大家指正下!
先找目標(biāo)敬扛,最終還是選用了中國天氣網(wǎng)晰洒,url:http://www.weather.com.cn/
找到目標(biāo)后,開始分析網(wǎng)頁舔哪,發(fā)現(xiàn)里面是支持查詢欢顷,并且查詢的城市和url又一定的規(guī)律,如下:
百度下后捉蚤,發(fā)現(xiàn)url中的數(shù)字是城市代碼抬驴,這就簡單了,先把代碼弄到缆巧,然后做成字典布持。
然后,分析網(wǎng)頁的元素陕悬,發(fā)現(xiàn)近7天的預(yù)報都已經(jīng)整整齊齊的放在那里了题暖,這就簡單了,開始寫代碼吧捉超!
選定方法胧卤,這里小編用的是xpath,方便拼岳、快捷枝誊。
需要提前安裝lxml庫,然后導(dǎo)入
import requestsfrom lxml import etree
為了方便查詢惜纸,直接寫input叶撒,然后拼接網(wǎng)址
city = input("請輸入要查詢的城市:")city_code = city_code_list[city]home_page = 'http://www.weather.com.cn'url = home_page + '/weather/' + city_code + '.shtml'
解析拼接好的網(wǎng)址,這里小編用requests獲取get內(nèi)容
def get_html(url):header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'}html = requests.get(url, headers=header)html.encoding = 'utf-8'return html.texthtml = etree.HTML(get_html(url))
然后開始查找路徑
date = html.xpath('//ul[@class="t clearfix"]/li[{}]/h1/text()'.format(i))
由于7天的預(yù)報都是在li標(biāo)簽下的耐版,所以寫到循環(huán)中祠够,print輸出即完成!
最后效果如下:
簡單的功能實(shí)現(xiàn)粪牲,成就感滿滿的古瓤!
代碼放上:
喜歡就關(guān)注一波唄(^_^),想和小編一起學(xué)習(xí)Python的,可以 查看小編資料哦腺阳。