之前都是使用提前準備好的文件來獲取數據,時效性很差。
爲了更有效、更快地獲取並利用網絡信息並工作提高效率,出現了網絡爬蟲。
利用網絡爬蟲實時獲取城市的空氣質量指數。
什麼是網絡爬蟲?
自動抓取互聯網信息的程序;利用互聯網數據進行分析、產品開發。
步驟:
1、通過網絡鏈接獲取網頁內容
2、對獲取的網頁內容進行處理
requests模塊
requests模塊是一個簡潔且簡單的處理HTTP請求的工具
支持非常豐富的鏈接訪問功能,包括URL獲取,HTTP會話,Cookie記錄等。
requests網頁請求
函數 | 含義 |
get() | 對應HTTP的GET方式 |
post() | 對應HTTP的POST方式,用於傳遞用戶數據 |
requests對象屬性
函數 | 含義 |
status_code | HTTP請求的放回狀態,200表示鏈接成功,400表示失敗。 |
text | HTT相應內容的字符串形式,即url對應的頁面內容 |
直接上代碼:
"""
作者:lanxingbudui
日期:2020-02-24
功能:AQI計算
版本:5.0
"""
import requests
def get_html_text(url):
"""
返回url的文本
"""
r = requests.get(url, timeout=30)
print(r.status_code)
return r.text
def main():
"""
主函數
"""
city_pinyin = input('請輸入城市拼音:')
url = 'http://pm25.in/' + city_pinyin
url_text = get_html_text(url)
aqi_div = '''<div class="span12 data">
<div class="span1">
<div class="value">
'''
index = url_text.find(aqi_div)
begin_index = index + len(aqi_div)
end_index = begin_index + 2
aqi = url_text[begin_index: end_index]
print('空氣質量爲:{}'.format(aqi))
if __name__ == '__main__':
main()
pycharm中沒有requests模塊,在import requests模塊是報錯。解決方法如下:
1、打開pycharm軟件,點擊file-->點擊setting
2、在目錄下點擊Project Interpreter,在目錄的右側,點擊右上方的+
3、在輸入框中輸入requests,點擊安裝(提示sucessful時,表名安裝第三方庫成功)
ps:在pycharm中安裝其他第三方庫是一樣的步驟