情人节刚过去几天,但是这和我们程序员有什么关系呢,对我们来说,万物皆对象。但是啊,小编为了讨得仰慕已久的女神的欢心(真香),便用python爬取了爱词霸网站的每日一句和天气预报网站的天气预报,并且每天定时将内容推送到女神的手机短信中(代码实现,不需要短信费哦)。
好东西要学会分享,因此小编打算分三个步骤来教大家实现,最后会给出源代码。
第一步,实现爬取爱词霸网站的每日一句: 爱词霸的每日一句包括了英文版和中文版。爬取下来实际上4行有效代码就能搞定,不过为了提高代码的重用性,就将这个功能封装成了一个函数,以后需要时候用一行代码调用它便行了。下面贴出第一步的源代码,注释写得很详细了,有不懂的可以在文章下面提问哦。
# 小技巧:pycharm中,alt+enter快捷键可快速安装缺失库 import json import requests # 爬取爱词霸每日鸡汤 def get_iciba_everyday_chicken_soup(): url = 'http://open.iciba.com/dsapi/' # 词霸免费开放的jsonAPI接口 r = requests.get(url) all = json.loads(r.text) # 获取到json格式的内容,内容很多 # print(all) # json内容,通过这行代码来确定每日一句的键名 Englis = all['content'] # 提取json中的英文鸡汤 Chinese = all['note'] # 提取json中的中文鸡汤 everyday_soup = Englis+'\n'+Chinese # 合并需要的字符串内容 return everyday_soup # 返回结果 print(get_iciba_everyday_chicken_soup())
上面代码执行结果截图如下:成功爬取每日鸡汤,第一步实现。
第二步,爬取天气预报网站的天气情况!
需要爬取的是天气网站的数据:http://www.tianqi.com/ 实现这个功能的所有代码也封装在了一个函数里面了,其实有效代码不到20行。调用函数的时候传入的参数改为对应城市的拼音就可。
import urllib.request # 需要安装 urllib 库 from bs4 import BeautifulSoup #需要安装 bs4 库 def get_weather(city_pinyin): # 声明头,模拟真人操作,防止被反爬虫发现 header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'} # 通过传入的城市名拼音参数来拼接出该城市的天气预报的网页地址 website = "http://www.tianqi.com/" + city_pinyin + ".html" req = urllib.request.Request(url=website, headers=header) page = urllib.request.urlopen(req) html = page.read() soup = BeautifulSoup(html.decode("utf-8"), "html.parser") # html.parser表示解析使用的解析器 nodes = soup.find_all('dd') tody_weather = "" for node in nodes: # 遍历获取各项数据 temp = node.get_text() if (temp.find('[切换城市]')): temp = temp[:temp.find('[切换城市]')] tody_weather += temp # 去除字符串中的空行: tianqi = "".join([s for s in tody_weather.splitlines(True) if s.strip()]) return tianqi # 返回结果 # 调用封装号好的函数获取天气预报,参数‘chongqing'是重庆的拼音: print(get_weather('chongqing')) # 想查询哪个城市的天气情况,直接将参数替换为它的拼音即可
上面代码执行结果截图如下:
经过了第一步和第二步是不是觉得爬取鸡汤和天气预报并没有想象中难呢,只用了20多行代码就搞定啦。代码有不懂的结合注释多思考就好了,实在想不通就提问。
现在只差最后一步了,虽然代码也不多,但相比前面的而言还是比较麻烦的一步,过程有点繁琐,小编当时绕了好久,毕竟想免费发短信出去就是在白嫖啊!不过,别担心,小编后面给你讲的明明白白。
第三步,代码实现免费发送短信功能!
这一步需要将第一步获取的每日鸡汤内容和第二步获取的城市天气预报内容发送到手机短信,过程有点麻烦,为了讲得更详细,小编决定另写一篇blog教大家实现最关键的一步。写完地址会更新贴出来。
最后一步,文章链接:Python15行代码实现免费发送手机短信
总结
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]