python爬虫简单爬取天气_通过爬虫爬取天气

d2bdeba0c0f6d04180023e9dd8a14198.png
2019年6月14日23:08:57更新
代码出现不能够爬取数据问题
(已解决)加入headers ,因为网站开始反爬,所以加上请求头即可解决。

记录一下自己学习历程吧..

今天闲着没事把以前写的爬取天气的一个爬虫写成了一个能查询一周天气的exe..

给大家上个图..

c2538473830bc2658f2a37e7be5841a8.png

实现起来很简单

就是bs4+requests

下边代码如果经过修改之后可以爬取某地几年内的历史天气数据

然后对某地历史天气情况进行建模分析

如果实在不懂也可以给我留言我给你修改...

等我学会tkinter之后,我一定会把我写的全部换成GUI界面..

我一定不用cmd来显示了..

看起来实在是不方便

代码写的可能比较乱

也请大神们勿喷..

另外非常感谢老师和同学们对我的指导

#=============================================================================
#     FileName: weather1.py
#         Info: py3.6
#       Author: BertF
#      Version: 0.0.2
#   LastChange:2018/05/05
#      History:00
#=============================================================================
import requests
import codecs
import os
from bs4 import BeautifulSoup
import random

user_agent = [
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
    ]
headers = {'User-Agent': random.choice(user_agent)}
urls = []
a="https://tianqi.911cha.com/"
b=input("请输入要查看的城市:(输入拼音)")
url=a+str(b)
urls.append(url)
print("时间,天气,温度,湿度,风力,风级,降水量,体感温度,云量")
for url in urls:
    response = requests.get(url,headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    weather_list = soup.select('div[class="mcon noi"] table')
    for weather in weather_list:
        weather_date = weather.select('tr')[0].getText()
        tr_list = weather.select('tr')
        i=0
        for tr in tr_list:
            td_list= tr.select('td')
            th_list=tr.select('th')
            str=""
            for th in th_list:
                str+=th.getText()+'n'
            for td in td_list:
                str += td.getText()+" "
            if i!=0:
                print(str+'n')
            i+=1
os.system("pause")

嘿嘿最近文章写的有点少,因为大部分精力在写关于爬虫的东西,推一下自己建立的公众号吧!

7292303c0c63f1655adb12b753b4b7d9.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值