zoukankan      html  css  js  c++  java
  • Python爬取所有城市的aqi值

    # -*- coding: utf-8 -*-
    # author:baoshan
    
    import requests
    from bs4 import BeautifulSoup
    
    def get_city_aqi(city_pinyin):
        url = 'http://pm25.in/'+city_pinyin
        r = requests.get(url, timeout=30)
        soup = BeautifulSoup(r.text, 'lxml')
        div_list = soup.find_all('div', {"class":"span1"})
        city_aqi = []
        for i in range(8):
            div_content = div_list[i]
            caption = div_content.find('div', {"class": "caption"}).text.strip()
            value = div_content.find('div', {"class":"value"}).text.strip()
            city_aqi.append((caption, value))
        return city_aqi
    
    
    def get_all_cities():
        url = 'http://pm25.in/'
        city_list = []
        r = requests.get(url, timeout=30)
        soup = BeautifulSoup(r.text, 'lxml')
        city_div = soup.find_all('div', {'class':'bottom'})[1]
        city_link_list = city_div.find_all('a')
        for city_link in city_link_list:
            city_name = city_link.text
            city_pinyin = city_link['href'][1:]
            city_list.append((city_name, city_pinyin))
        return city_list
    
    def main():
        city_list = get_all_cities()
        for city in city_list:
            city_name = city[0]
            city_pinyin = city[1]
            city_aqi = get_city_aqi(city_pinyin)
            print(city_name, city_aqi)
    
    if __name__ == '__main__':
        main()

    参考自:小象学院的AQI空气质量指数计算

  • 相关阅读:
    合并hive/hdfs小文件
    NoSql图形数据库
    mysql分表
    查看带宽使用
    mysql中间件kingshard
    centos7安装docker
    nginx的proxy_pass路径转发规则最后带/问题
    centos关闭邮件提醒
    JOSN转列格式(csv文件)
    Android 常见对话框
  • 原文地址:https://www.cnblogs.com/zhzhang/p/11309411.html
Copyright © 2011-2022 走看看