python爬取pm2.5数据

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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python 也是很值得学习的一门工具。学好python和R。 1环境管理 管理 Python 版本和环境的工具 ...
    Liam_ml阅读 4,900评论 1 51
  • 声明:本文讲解的实战内容,均仅用于学习交流,请勿用于任何商业用途! 一、前言 强烈建议:请在电脑的陪同下,阅读本文...
    Bruce_Szh阅读 12,857评论 6 28
  • 前言 爬虫就是请求网站并提取数据的自动化程序,其中请求,提取,自动化是爬虫的关键。Python作为一款出色的胶水语...
    王奥OX阅读 3,519评论 1 8
  • NBN的故事52:第一次的交锋 时间:9000年2月22日 地点:地球 话说乔治发明了破隐之药,正等着试用一下...
    我我了阅读 339评论 0 1
  • 《贫毒》 走在暗夜里,再喝一碗毒鸡汤 吃饱上路,不提去年,不见来生 我想孟婆的碗需要批量生产 太多太多裸露的人,目...
    幽明m阅读 350评论 0 1