1. 程式人生 > >Python3.6--之爬取天氣資訊

Python3.6--之爬取天氣資訊

1.工具用 PycharmPython3.6

2.在 Pycharm 中的Settings->Project:code->Project Interpreter點選右上角綠色’+’輸入requests和 BeautifulSoup選擇並安裝,BeautifulSoup安裝時可能會出現錯誤,請自行百度查詢。

3.程式碼如下

import requests                                                                      
from bs4 import BeautifulSoup

urls = []
city=["nanchang"
,"chongqing","shanghai","beijing","hangzhou"] for c in range(0,city.__len__()): for i in range(12, 18): if i < 10: i = str(0) + str(i) for j in range(1, 12): if j < 10: j = str(0) + str(j) urls.append("http://lishi.tianqi.com/"+city[c]+"/20"
+ str(i) + str(j) + ".html") file = open('wuhan_weather.txt','w') for url in urls: print(url[24:32]) response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') weather_list = soup.select('div[class="tqtongji2"]') for weather in weather_list: if weather.select
('a').__len__()>1: weather_date = weather.select('a')[0].string.encode('utf-8') ul_list = weather.select('ul') i = 0 for ul in ul_list: li_list = ul.select('li') str = url[24:32]+":" for li in li_list: if li.string!=None: str += (li.string + ",").encode('utf-8').decode() if i != 0: file.write(str + '\n') i += 1 file.close()

4.在同目錄資料夾下找到

wuhan_weather.txt

同時也可以將這些資料存入到Excel表中,只需將字尾 .txt改為 .csv 即可。

5.成果如下,共由9k+資料。
這裡寫圖片描述