使用到了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文件中,如下:
28日(今天),小雨,,13℃29日(明天),小雨转阴,15℃,12℃30日(后天),多云,19℃,14℃31日(周一),小雨,16℃,14℃1日(周二),阴转多云,16℃,10℃2日(周三),多云转晴,17℃,10℃3日(周四),多云转晴,18℃,11℃1234567
# 获取温度、湿度、风力等
WEATHER_URL_A = ""
# 获取天气状况、更大/小温度等
WEATHER_URL_B = ""
# 获取未来7天天气数据
WEATHER_URL_C = ""
URL里%s指城市对应的代码。详细参考:
不过这篇文章里有的接口已经不能用了。
上面我给的三个URL里,前两个直接返回json格式数据;第三个返回是一个页面,需要自己从页面里提取想要的信息。
这个和用不用python没啥关系,是数据来源的问题。调用 *** API,使用 api相关接口获得你想要的内容,我 记得api中有相关的接口,你可以看一下接口的说明。用python做爬虫来进行页面数据的获取。希望能帮到你。
网络安全公司Trustwave的安全团队SpiderLabs警告Windows用户,一个名为Vidar的新恶意软件活动将自己伪装成微软支持或帮助文件。因此,毫无戒心的用户可能很容易成为受害者,而Vidar是一个偷窃数据的恶意软件,可以窃取被利用者的信息。 微软编译的HTML帮助(CHM)文件虽然现在...
以色列似乎正在从一场大规模的网络攻击中恢复过来。据Haaretz和Kan的Amichai Stein报道,攻击者在周一晚上攻陷了几个以色列政府网站,其中包括卫生部、内政部、司法部和福利部网站。总理办公室的网站也受到了影响。以色列国家网络管理局在一份声明中称,现在所有的网站都已重新上线。 虽然以色列政...
在周四的一份网络安全公告中,育碧(Ubisoft)证实该公司在上周遭遇了一起“网络安全事件”。尽管攻击尝试似乎未能造成破坏,但出于安全方面的考虑,育碧还是采取了全公司范围内的密码重置措施,以防发生其它意外。在此期间,育碧暂停了部分服务,但坚称没有玩家数据受到损害。截止发稿时,该公司旗下所有游戏和服...
GitHub今天透露,一名攻击者正在使用偷来的OAuth用户令牌(原本发放给Heroku和Travis-CI),从私人仓库下载数据。自2022年4月12日首次发现这一活动以来,威胁者已经从几十个使用Heroku和Travis-CI维护的OAuth应用程序(包括npm)的受害组织中访问并窃取数据。...
自 Windows 11 系统 2021 年 6 月发布以来,不断有各种活动欺骗用户下载恶意的 Windows 11 安装程序。虽然这种情况在过去一段时间里有所遏制,但现在又卷土重来,而且破坏力明显升级。 网络安全公司 CloudSEK 近日发现了一个新型恶意软件活动,看起来非常像是微软的官方网站...
澳大利亚信息专员发现,Clearview AI 在许多方面违反了澳大利亚的隐私法。在此前的双边调查中发现,该公司的面部识别工具未经同意并以不公平的方式收集澳大利亚人的敏感信息。由澳大利亚信息专员办公室(OAIC)和英国信息专员办公室(ICO)进行的调查发现,Clearview AI 的面部识别工具不...