首先是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来保存
近日,两位安全研究人员成功入侵了亿万富翁兼电影制片人 Jeffrey Katzenberg 的 Mac 计算机,意味着 macOS 设备并不能自动抵御网络威胁。虽然没有提到特定的 macOS 设备型号,深谙社会工程的 SocialProof Security 首席执行官 Rachel Tobac 还...
尽管苹果一直在警告侧载应用程序的危险性,并坚持对上架 App Store 的应用展开严格的审查。但由于 TestFlight 和 WebClips 这两项功能的存在,越来越多的恶意软件开发者正在积极利用这两大“官方漏洞”。比如欺诈者可忽悠 iPhone / iPad 用户侧带有恶意软件的应用程序,进...
就在英国警方逮捕了 7 名嫌疑犯之后,近期非常猖獗的黑客组织 Lapsus$ 又有了新动作。在攻击微软、三星、NVIDIA 和 Okta 等公司之后,该组织再次宣布成功攻陷 Globant,后者是一家位于卢森堡的软件开发咨询公司。 在周三宣布自己“度假归来”之后,该组织在其 Telegram 频道...
Hackernews 编译,转载请注明出处: 研究人员披露了 TerraMaster NAS设备的关键安全漏洞的细节,这些设备可以链接到未经身份验证的远程代码执行,且具有最高权限。 埃塞俄比亚网络安全研究公司 Octagon Networks 的 Paulos yibello 在分...
Hackernews编译,转载请注明出处: 一个企业网络间谍黑客组织在消失了7个月后重新浮出水面,今年它针对4家公司进行新入侵行动,其中包括俄罗斯最大的批发商店之一,同时对其工具集进行了战术性改进,以试图阻挠分析。 Group-IB 的伊万 · 皮萨列夫说: “在每一次攻击中,攻击者都展示了广泛的...
近期谷歌发布了Android的5月安全补丁的第二部分,其中包括对积极利用的Linux内核漏洞的修复。该漏洞编号为CVE-2021-22600,是Linux内核中的一个权限提升漏洞,威胁者可以通过本地访问来利用该漏洞。由于Android使用修改后的Linux内核,因此该漏洞也会影响操作系统。 谷歌的...