• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python爬虫练习:爬取天气数据实时数据并保存(附源码)

python 搞java代码 3年前 (2022-05-21) 28次浏览 已收录 0个评论

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

项目目标

爬取米胖天气网站,保存实时数据

 

 

受害者地址

<code class="hljs cpp">(<a href="https://www.gaodaima.com/tag/https" title="查看更多关于https的文章" target="_blank">https</a>:<span class="hljs-comment">//weather.mipang.<a href="https://www.gaodaima.com/tag/com" title="查看更多关于com的文章" target="_blank">com</a>/)
</span></code>

www#gaodaima.com来源gaodai$ma#com搞$代*码*网搞代码

开始代码

导入工具
<span><a href="https://www.gaodaima.com/tag/import" title="查看更多关于import的文章" target="_blank">import</a></span><span> requests
</span><span>import</span><span> parsel
</span><span>import</span><span> csv
</span><span>import</span> time

 

 

 

请求网站
  url = <span>"</span><span>https://weather.mipang.com/changsha/{}yuefen.html</span><span>"</span><span>.format(page)
    headers </span>=<span> {
        </span><span>"</span><span>User-Agent</span><span>"</span>: <span>"</span><span>Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36</span><span>"</span><span>
    }
    response </span>= requests.get(url=url, headers=headers)

 

爬取网站数据
    selector =<span> parsel.Selector(response.text)
    trs </span>= selector.css(<span>"</span><span>.tb tr</span><span>"</span><span>)

    </span><span>for</span> tr <span>in</span><span> trs:
        dit </span>=<span> {}
        date </span>= tr.css(<span>"</span><span>td:nth-child(1)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>日期</span><span>"</span>] =<span> date
        max_temperature </span>= tr.css(<span>"</span><span>td:nth-child(2)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>最高温度</span><span>"</span>] =<span> max_temperature
        min_temperature </span>= tr.css(<span>"</span><span>td:nth-child(3)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>最低温度</span><span>"</span>] =<span> min_temperature
        weather </span>= tr.css(<span>"</span><span>td:nth-child(4)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>天气</span><span>"</span>] =<span> weather
        wind </span>= tr.css(<span>"</span><span>td:nth-child(5)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>风向</span><span>"</span>] =<span> wind
        wind_power </span>= tr.css(<span>"</span><span>td:nth-child(6)::text</span><span>"</span><span>).get()
        dit[</span><span>"</span><span>风力</span><span>"</span>] =<span> wind_power

        </span><span>if</span> <span>not</span> dit[<span>"</span><span>日期</span><span>"</span>] ==<span> None:
            csv_writer.writerow(dit)
            </span><span>print</span><span>(dit)
        </span><span>else</span><span>:
            </span><span>print</span>(None)

 

保存数据

f = open(<span>"</span><span>天气.csv</span><span>"</span>, mode=<span>"</span><span>a</span><span>"</span>, encoding=<span>"</span><span>utf-8-sig</span><span>"</span>, newline=<span>""</span><span>)
csv_writer </span>= csv.DictWriter(f, fieldnames=[<span>"</span><span>日期</span><span>"</span>, <span>"</span><span>最高温度</span><span>"</span>, <span>"</span><span>最低温度</span><span>"</span>, <span>"</span><span>天气</span><span>"</span>, <span>"</span><span>风向</span><span>"</span>, <span>"</span><span>风力</span><span>"</span><span>])
csv_writer.writeheader()

f.close()</span>

 

运行代码,效果如下图

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python爬虫练习:爬取天气数据实时数据并保存(附源码)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址