爬取多城市空氣質素資料

2021-09-29 05:24:39 字數 3546 閱讀 9018

url =

''

import requests

from bs4 import beautifulsoup

import pandas as pd

headers =

#headers為了防止**防爬蟲,偽裝成瀏覽器訪問

responses = requests.get(url,headers=headers)

# print(responses.text)

soup = beautifulsoup(responses.text,

'lxml'

)table = soup.find(

'table'

)df = pd.read_html(table.prettify(

),header=0)

df[0

]

日期質量等級

aqi指數

當天aqi排名

pm2.5

pm10

so2no2

coo3

02019-09-01良54

29719512

310.43961

2019-09-02良66

34124582

340.51

1132

2019-09-03良86

36047832

390.67

1423

2019-09-04良87

36253803

390.76

1204

2019-09-05良81

35544712

330.65

1295

2019-09-06良87

34747822

390.70

1426

2019-09-07良87

34045742

360.68

1407

2019-09-08良70

24033712

350.62

1218

2019-09-09良93

35466956

311.36

1329

2019-09-10優19

339112

190.47

5410

2019-09-11優27

9915264

320.75

2611

2019-09-12優30

10418292

240.54

5212

2019-09-13優39

19222232

210.51

4613

2019-09-14優28

10411252

270.38

5314

2019-09-15優49

27826522

370.54

6415

2019-09-16優43

20117433

280.53

6616

2019-09-17良54

26229602

310.65

7217

2019-09-18優27

695232

190.27

5918

2019-09-19良54

26822592

420.55

4519

2019-09-20良60

28536692

400.68

6420

2019-09-21良85

35257785

371.09

10221

2019-09-22

輕度汙染

108365

7873429

1.27

11722

2019-09-23良52

17930402

350.65

7223

2019-09-24優37

5411342

290.40

6724

2019-09-25良55

14822522

360.62

8925

2019-09-26良64

22333562

350.67

11326

2019-09-27良77

30852562

280.86

10027

2019-09-28良83

29256662

310.82

11028

2019-09-29良86

29857722

310.82

11729

2019-09-30良97

35071963

330.93

96

def

getaqi

(url)

: headers=

response=requests.get(url,headers=headers)

soup=beautifulsoup(response.text,

'lxml'

) table=soup.find(

'table'

) df=pd.read_html(table.prettify(

),header=0)

return df[

0]

year =

2019

cities =

['beijing'

,'shenzhen'

]for city in cities:

dfs=

filename =

'testpandasdata/'

+city+

'_'+

str(year)

+'_aqi.csv'

print

(filename)

for month in

range(1

,13):

url =

''+city+

'-'+

str(year)

+str

('%02d'

%month)

+'.html'

data = getaqi(url)

for df in dfs:

df.to_csv(filename,header=

none

,encoding=

'utf-8'

,mode=

'a')

# header=none:不要表頭,不然每個月都有乙個表頭資訊

# mode='a':在檔案末尾進行新增

testpandasdata/beijing_2019_aqi.csv

城市空氣質素 AQI 資料爬蟲

全國各城市 網頁上有的 空氣質素爬蟲,包括城市名稱,aqi等資訊,儲存為.csv檔案格式 首頁 首先是獲取城市名稱模組,實質就是從網頁上得到可檢索的所有 城市 字串列表 import requests from lxml import etree import time from urllib im...

hyspider之城市爬取

影院資訊在各渠道都是按城市分類,通過城市id分頁查詢,因此在抓取影院前先抓取城市資訊,城市資訊基本不變,只需抓取一次即可。貓眼沒有從貓眼找到直接獲取城市列表的api,所以基於selenium模擬chrome訪問貓眼首頁,獲取首頁html原始碼,然後從html中提取所有城市。city mt原始碼 儲存...

多頁爬取資料

beautifulsoup自動將輸入文件轉換為unicode編碼,輸出文件轉換為utf 8編碼。你不需要考慮編碼方式,除非文件沒有指定乙個編碼方式,這時,beautifulsoup就不能自動識別編碼方式。這時,你只需要說明一下原始編碼方式就ok。引數用lxml就可以,需要另行安裝並載入。beauti...