首先是python基础,接触下html页面,简单的css跟js。为爬虫打地基
然后接触下爬虫的几个库,bs4,urilb,requests,xpath,xml,文件操作
最后就是实战了,首先爬个天气预报啥的
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℃
再写个发邮件模块,根据爬取的天气内容判断,提醒用户是否需要带伞,适合穿什么衣服出门!
这个和用不用python没啥关系,是数据来源的问题。调用 *** API,使用 api相关接口获得你想要的内容,我 记得api中有相关的接口,你可以看一下接口的说明。用python做爬虫来进行页面数据的获取。希望能帮到你。
使用到了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
你可以通过爬虫技术将数据全部爬取下来,然后存放在DataFrame中,最后用.to_csv来保存
Hackernews 编译,转载请注明出处: Mozilla 在其 Firefox 浏览器中加入了带外数据软件升级,包含了两个高影响力的安全漏洞。 Mozilla 称,这两个漏洞正在被大肆利用。 标记为 cve-2022-26485和 cve-2022-26486的零日漏洞被描述为影响 XSLT ...
Lapsus$黑客组织在3月发生的一系列网络入侵事件中窃取了T-Mobile的源代码,T-Mobile在一份声明中确认了这次攻击,并说”被访问的系统不包含客户或政府信息或其他类似的敏感信息”。在一份私人信息副本中,Lapsus$黑客组织讨论了在其七名青少年成员被捕前一周针对T-Mobile的攻击。...
尽管苹果一直在警告侧载应用程序的危险性,并坚持对上架 App Store 的应用展开严格的审查。但由于 TestFlight 和 WebClips 这两项功能的存在,越来越多的恶意软件开发者正在积极利用这两大“官方漏洞”。比如欺诈者可忽悠 iPhone / iPad 用户侧带有恶意软件的应用程序,进...
Hackernews 编译,转载请注明出处: 研究人员披露了 TerraMaster NAS设备的关键安全漏洞的细节,这些设备可以链接到未经身份验证的远程代码执行,且具有最高权限。 埃塞俄比亚网络安全研究公司 Octagon Networks 的 Paulos yibello 在分...
SSLPing 是一款相当实用的工具,在注册并添加了你的服务器后,它就会帮助检查证书、协议、密码和已知漏洞。从 SSL v3 到 TLS 1.2,对于一些大型服务提供商来说,如果未能在证书到期前妥善处理,后续的影响还是相当难以规避的。然而近日,这款免费工具的创作者正在发出寻求帮助的讯号。 (来自:...
加拿大多伦多大学下属“公民实验室”(Citizen Lab)的研究人员当地时间周一发文称,该实验室的核心任务是对民间社会的数字威胁进行研究。在调查雇佣军间谍软件的过程中,他们偶尔会观察到一些案例,怀疑政府正在使用间谍软件对其他政府进行国际间谍活动。这些案件绝大多数都不属于他们的范围和任务。然而,在某...