某天氣網(wǎng)站(www.數(shù)字.com)存有2011年至今的天氣數(shù)據(jù),有天看到一本爬蟲教材提到了爬取這些數(shù)據(jù)的方法,學習之,并加以改進。
爬之前先分析url。左上有年份、月份的下拉選擇框,按F12,進去看看能否找到真正的url:
很容易就找到了,左邊是儲存月度數(shù)據(jù)的js文件,右邊是文件源代碼,貌似json格式。
雙擊左邊js文件,地址欄內出現(xiàn)了url:http://tianqi.數(shù)字.com/t/wea_history/js/54511_20161.js
url中的“54511”是城市代碼,“20161”是年份和月份代碼。下一步就是找到城市代碼列表,按城市+年份+月份構造url列表,就能開始遍歷爬取了。
城市代碼也很誠實,很快就找到了:
下一步得把城市名稱和代碼提取出來,構造一個“城市名稱:城市代碼”的字典,或者由元組(城市名稱,城市代碼)組成的列表,供爬取時遍歷。考慮到正則提取時,構造元組更便捷,就不做成字典了。
def getCity(): html = reqs.get('https://tianqi.2345.com/js/citySelectData.js').content text = html.decode('gbk') city = re.findall('([1-5]\d{4})\-[A-Z]\s(.*?)\-\d{5}',text) #只提取了地級市及以上城市的名稱和代碼,5以上的是縣級市 city = list(set(city)) #去掉重復城市數(shù)據(jù) print('城市列表獲取成功') return city
網(wǎng)頁題目:用python爬取歷史天氣數(shù)據(jù)的方法示例-創(chuàng)新互聯(lián)
當前URL:http://www.rwnh.cn/article36/csjdsg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、動態(tài)網(wǎng)站、云服務器、微信公眾號、面包屑導航、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容