# 获取温度、湿度、风力等
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文件中
研究人员近日发现了针对乌克兰计算机的新型擦除恶意软件(以破坏关键文件和数据为目的),这是俄乌冲突以来发现的第 3 款擦除恶意软件。 这种被称为 CaddyWiper 的恶意软件是由总部位于斯洛伐克的网络安全公司 ESET 的研究人员发现的,他们在周一发布的推文中分享了细节。 据研究人员称,该...
Hackernews 编译,转载请注明出处: Adafruit 披露了一个数据泄露事件,这个事件是由于一个可公开查看的 GitHub 存储库引起的。 该公司怀疑这可能允许攻击者对2019年或之前对某些用户的信息进行“未经授权的访问”。 Adafruit 总部位于纽约市,自2005年以来一直是开源硬...
本周三,包括美国能源部(DOE)、网络安全和基础设施安全局(CISA)和联邦调查局(FBI)在内的多个机构,向关键基础设施运营商发出了严重的潜在攻击警报。近年来,某些持续威胁(APT)参与者创建了许多定制工具,并在针对工业控制系统(ICS)、监控和数据采集设备(SCADA)等关键基础设施的攻击事件中...
大多数人都知道,现代电子设备,如智能手机、平板电脑和计算机,存储了我们个人和私人生活的一系列信息,我们不希望陌生人得到这些信息。然而,许多人没有考虑到他们的车辆信息娱乐系统和其他系统内到底储存了多少个人信息。 现在一份报告研究了全球15大汽车制造商,并调查了它们之间的数据共享政策。该研究对每个品牌2...
一场在全球范围性欺诈行为被发现,它利用151个恶意Android应用程序,下载量达1050万次,在未经用户同意和知情的情况下将用户拉入付费订阅服务。 名为“Ultimams”的付费短信诈骗活动据信于2021年5月开始,涉及的应用程序涵盖范围广泛,包括输入法、二维码扫描仪、视频和照片编辑器、垃圾邮件拦...
专业处理固件威胁的安全研究公司 Binarly,刚刚在周二的一篇博客文章中披露了 InsydeH2O“Hardware-2-Operating System”UEFI BIOS 中存在的问题。作为微软、英特尔、惠普、戴尔、联想、西门子、富士通等多家科技巨头的固件供应商,这意味着它们都易受将近两打安全...