17 中國天氣網資訊爬取

2022-08-17 16:00:17 字數 2631 閱讀 3601

1

"""中國天氣網爬蟲

"""2

3import

requests

4from bs4 import

beautifulsoup

56 headers =910

defparse_detail_page(url, is_html5lib):

11"""

爬取具體頁面具體資料

"""12

13 respose = requests.get(url, headers=headers)

14 text = respose.content.decode('

utf-8')

15#with open('weather.html', 'w', encoding='utf-8') as fp:16#

fp.write(text)

17if is_html5lib ==false:

18 soup = beautifulsoup(text, '

lxml')

19else

:20 soup = beautifulsoup(text, '

html5lib')

21#以下為具體爬取資料方法

22 conmidtab = soup.find_all('

div', attrs=)

23 tables = conmidtab[0].find_all('

table')

24for table in

tables:

25 trs = table.find_all('

tr')[2:]

26for index,tr in

enumerate(trs):

27 tds = tr.find_all('td'

)28 city_td =tds[0]

29if index ==0:

30 city_td = tds[1]

31 city =list(city_td.stripped_strings)[0]

32 temp_td = tds[-2]

33 min_temp =list(temp_td.stripped_strings)[0]34#

輸出城市及其最低溫度

35print()

3637

print("

="*40)

3839

defget_detail_urls(url, base_url):

40"""

得到華北、東北、華東、華中、華南、西北、西南、港澳台的具體頁面鏈結

"""41

42 urllists = #

具體的頁面資訊列表

43 respose = requests.get(url, headers=headers)

44 text = respose.content.decode('

utf-8')

45 soup = beautifulsoup(text, '

lxml')

46#資料爬取

47 uls = soup.find_all('

ul', class_='

lq_contentboxtab2')

48 alists = uls[0].find_all('a'

)49for list in

alists:

50 newurl = base_url + list['

href']

5152

53return

urllists

5455

defspider():

56""""""

5758

#初始爬取頁面

59 src_url = "

"60 base_url = "

"61 urllists =

62 urllists =get_detail_urls(src_url, base_url)63#

print(urllists)

64 is_html5lib = false #

爬取頁面是否用html5lib庫

65for index,urllist in

enumerate(urllists):

66if index != len(urllists)-1:

67parse_detail_page(urllist, is_html5lib)

68else

:69 is_html5lib =true70#

url = "/textfc/gat.shtml"這個頁面需要用html5lib庫解析,不然資料有錯

71parse_detail_page(urllist, is_html5lib)

7273

if__name__ == '

__main__':

74 spider()

Python爬取中國天氣網中的蘇州天氣

我選擇的 是中國天氣網中的蘇州天氣,準備抓取最近7天的天氣以及最高 最低氣溫 程式開頭我們新增 coding utf 8這樣就能告訴直譯器該py程式是utf 8編碼的,源程式中可以有中文。要引用的包 requests 用來抓取網頁的html源 csv 將資料寫入到csv檔案中 random 取隨機數...

爬取中國天氣

import requests from bs4 import beautifulsoup def parser page url headers response requests.get url,headers headers text response.content.decode utf 8...

Python爬取中國天氣網天氣資料

由於一些需要,想要獲取今天的天氣資料,於是又撿起了python寫了個爬蟲用來獲取中國天氣網上的氣象資料。由於我需要的資料比較簡單,因為我只需要北京地區當天的溫度 最低溫度和最高溫度 和天氣,因此 部分比較簡單,下面就來講講這個爬取的過程。第一步 網頁分析 要進行爬蟲設計,首先得分析網頁的請求過程。首...