需求分析
昨天,我做了一个天气预警信息的爬取,这个程序可以获取高温,或者其他极端的天气的预警信息情况。但是呢,其中有一位小伙伴就和我说,他希望不只能看到天气预警信息,也希望能够看到当前的天气状况,这样这个程序会比较方便,希望我能再出一期爬取天气状况的文章
其实,在昨天爬取天气预警信息的时候,我首先已经考虑过了爬取天气状况,但是由于这个功能有一些麻烦,所以昨天没能成功实现
具体的困难在于什么地方呢?简单来说就是,单纯获取天气状况不是什么困难的事情,困难的地方在于,如何让使用者选择地区呢?
如果我们打开地区状况,我们会发现这个范围是很广泛的,具体到了每个市里面有每个区,每个区里面甚至还有具体的区域甚至景点。比如说,著名的景点,故宫博物院就有单独的天气状况信息,我们在程序中应该如何接受用户提交的地点信息情况呢?
有两种选择,第一种情况,我们只提供有限的地点以供选择,比如说,我们将所有可以提供天气状况的区域保存到一个列表中,可能这个列表中有几十个或者几百个地点,使用者只可以从这个地点中进行选择。与此同时,我们可能还需要为其配备一套查询系统,以便于匹配用户提供的地点信息,这种方式的缺点在于能够保存的地点通常不是很多,而用户使用起来呢也有困难,他需要不断去我们的列表中进行选择
第二种情况呢,就比较特别了,我们不保存任何的地点信息,我们也不知道用户提供的是否是一个可行的地点。也就是说,无论使用者输入了什么地点,我们都将这个地点原封不动的写入到爬虫程序中。这样的好处在于,我们不用判断地点信息是否有效,也不需要保存任何的额外信息。如果能够通过这个地点成功的爬取到数据,我们就返回数据,如果没办法通过这个地点获取到数据,那么就显示无数据。但这似乎不是一个好办法,这是在推卸责任
另外的一个困难还在于,我们如何接受用户的地点信息呢?每次在使用这个程序之前,要求用户必须要先输入一段内容,然后再使用程序吗?这样合适吗?会不会给使用者带来很大的负担呢?这些都是需要考

本文介绍了通过Python爬虫获取未来几天天气状况的需求和实现过程。文章讨论了如何处理用户选择地区的问题,提出了两种解决方案,并决定采用默认地点。此外,文章详细讲述了爬取天气更新时间、温度等信息的方法,利用selenium发送请求,通过lxml解析数据。最后展示了程序运行的结果,强调了爬虫可能因目标网站变动而失效以及合法使用的注意事项。

731

被折叠的 条评论
为什么被折叠?



