北方“吃土”预警,沙尘暴又双叒叕来了

 

4月10日晚间,一场影响北方大部地区的沙尘暴引发大家的关注,北京发布大风、沙尘暴双预警,不少网友表示出门像打开“护眼模式”并且值得关注的是目前的这次沙尘天气过程是今年以来第8次,常年同期的沙尘过程次数是5至6次,今年沙尘出现的次数略偏多。


不知道历史上每年出现沙尘天气的次数相比今年是怎么样的,这里我们通过python爬取爬取历史天气数据来进行分析。
首先简单的进行爬取步骤分析,
1.python库的选择,这里我使用的是Python中的BeautifulSoup库进行爬取,BeautifulSoup库是一个能够从HTML文件中提取数据的Python库,由于我们获取的HTML文件包含整个网页内容,我们还需要定位到我们所需要获取的数据部分。
2.分析网页结构,需要先打开我们要爬取的网页,使用谷歌浏览器等开发者工具快速定位到我们所需要的HTML内容:
3.存储数据,数据获取到后需要将数据以结构化的方式存储起来。
接下来就是爬取数据的实际操作,因为天气网大量访问是会触发一些反爬机制的,所以爬取过程中在代码里面添加了代理IP,选择的是由亿牛云提供的隧道爬虫代理,因为不管是代理延迟,访问速度,稳定性都是最优的。实现代码如下:

#! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "https://www.tianqi.com//"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://www.tianqi.com//"
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"
    # 代理验证信息
    proxyUser = "udfejfhk"
    proxyPass = "568547"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章