# 获取温度、湿度、风力等
WEATHER_URL_A = ""
# 获取天气状况、更大/小温度等
WEATHER_URL_B = ""
# 获取未来7天天气数据
WEATHER_URL_C = ""
URL里%s指城市对应的代码。详细参考:
不过这篇文章里有的接口已经不能用了。
上面我给的三个URL里,前两个直接返回json格式数据;第三个返回是一个页面,需要自己从页面里提取想要的信息。
这个和用不用python没啥关系,是数据来源的问题。调用 *** API,使用 api相关接口获得你想要的内容,我 记得api中有相关的接口,你可以看一下接口的说明。用python做爬虫来进行页面数据的获取。希望能帮到你。
weatherinfo=r.json() #在json后面加上括号才能返回结果。否则只能返回函数地址。
以下python3通过:
import requests
ApiUrl=""
r=requests.get(ApiUrl)
weatherinfo=r.json()
print (weatherinfo["weatherinfo"]["ptime"])
print (weatherinfo["weatherinfo"]["temp2"])
08:00
5℃
这个要调用天气API的,目前免费的API都需要注册一个用户名才有有限的功能。
这个是我写的简单的天气查询代码,供参考吧!
详细的说明,在我的公@@@众###号!!上面有,名称是:学点编程吧,后期也有视频课程,有兴趣的看看吧!
bs4是可以提取的,因为你这一段里面出现的文字都是你要的,不存在剔除的考虑。
网页解析:要么使用bs4、要么使用bs4+re(正则),或者你可以使用以下PyQuery,这个也是用在网页爬虫解析页面的模块。
如果还是琢磨不出来,你把你这整个的html源码发上来,我搞搞,现在只看一段很难帮你
使用到了urllib库和bs4。bs4提供了专门针对html的解析功能,比用RE方便许多。
# coding : UTF-8import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )from bs4 import BeautifulSoupimport csvimport urllibdef get_html(url):
html = urllib.urlopen(url) return html.read()def get_data(html_text):
final = []
bs = BeautifulSoup(html_text, "html.parser")
body = bs.body
data = body.find('div', {'id': '7d'})
ul = data.find('ul')
li = ul.find_all('li') for day in li:
temp = []
date = day.find('h1').string
temp.append(date)
inf = day.find_all('p')
temp.append(inf[0].string,) if inf[1].find('span') is None:
temperature_highest = None
else:
temperature_highest = inf[1].find('span').string
temperature_highest = temperature_highest.replace('C', '')
temperature_lowest = inf[1].find('i').string
temperature_lowest = temperature_lowest.replace('C', '')
temp.append(temperature_highest)
temp.append(temperature_lowest)
final.append(temp) return finaldef write_data(data, name):
file_name = name with open(file_name, 'a') as f:
f_csv = csv.writer(f)
f_csv.writerows(data)if __name__ == '__main__':
html_doc = get_html('')
result = get_data(html_doc)
write_data(result, 'weather.csv') print result12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
运行结果保存在csv文件中
尽管未能赢得 AV-TEST 的最高防病毒(AV-Comparatives)等级评价,但 Microsoft Defender 仍是市面上最合适的产品之一。尴尬的是,在 Windows 11 Build 22581 编译版本中,许多人发现遇到了媒体播放问题。由 Reddit 网友的讨论可知,问题与系...
Microsoft Defender for Endpoint 今天出现了非常严重的误报事件,竟然将自家的 Office 应用程序更新 OfficeSvcMgr.exe 检测为勒索软件。今天早些时候,系统管理员在更新 Microsoft Defender for Endpoint 时注意到了恶意程...
虽然这家俄罗斯安全公司近几个月来已经失宠,但卡巴斯基宣布它已经成功破解了Yanluowang勒索软件(没错,它真的叫阎罗王,字面上Yanluowang。)这一充满了东方文化气息的恶意软件是去年由赛门铁克公司首次发现的,现在,卡巴斯基已经发现了它使用的加密算法中的一个漏洞。这使得该公司能够开发一个免费...
早在 5 月,微软就认定有俄罗斯背景的 NOBELIUM 黑客组织要对持续数月的 SolarWinds 网络攻击事件负责,并同企业、政府和执法机构达成了合作,以遏制此类网络攻击的负面影响。早些时候,微软更进一步地剖析了 NOBELIUM 使用的一套更加复杂的恶意软件传送方法。可知其用于造成破坏,并获...
根据 NK News 获得的日志文件和域名记录显示,在上周五和上周日朝鲜的关键服务器无法访问,从而在互联网上消失了数个小时。网络安全研究员 Junade Ali 说,连接失败的模式表明,朝鲜的 IT 基础设施可能受到了分布式拒绝服务(DDOS)攻击。 图片来自于 Pixabay Ali 表示:“断...
Hackernews 编译,转载请注明出处: 一个新的安卓银行木马通过官方的 Google Play Store 分发,安装量超过50,000次,其目的是针对56家欧洲银行,从受损的设备中获取敏感信息。 这款恶意软件被荷兰安全公司ThreatFabric命名为 Xenomorph,据说它与另...