python爬取pm2.5数据

2019-03-20  本文已影响0人  梦vctor

requests是python实现的简单易用的HTTP库
最简单常用的方法get()和post()

requests.get()用于请求目标网站,类型是一个HTTPresponse类型

爬取目标是http://www.pm25.in网页的数据,

image.png

1、首先导入第三方库requests

import requests

2、获得目标网站的url,这里各城市数据不尽相同,自行控制

city_pinyin = input('请输入城市拼音:')
url = 'http://www.pm25.in/' + city_pinyin

3、发起请求获取网页内容

def get_html_text(url):
    '''
        返回url的文本
    '''
    r = requests.get(url, timeout=30)
    # print(r.status_code)  
    return r.text

4、自定义规则获取需要的内容信息

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 + 3
aqi_val = url_text[begin_index:end_index]

5、自定义输出格式,将爬取的实时数据输出

print('空气质量为:{}'.format(aqi_val))

爬取各城市空气质量数据的python完整代码如下:

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://www.pm25.in/' + city_pinyin
    url_text = get_html_text(url)
    # print(url_text)

    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 + 3
    aqi_val = url_text[begin_index:end_index]
    print('空气质量为:{}'.format(aqi_val))

if __name__=='__main__':
    main()
上一篇 下一篇

猜你喜欢

热点阅读