在掘金看到了一篇《用Node+wechaty寫一個爬蟲腳本天天定時給女(男)朋友發微信暖心話》後,我就想爲何不用 Python 去實現這個功能呢。 JUST TO IT,說作就作。
這文章的結構也是參考上面這位朋友的。
原本只是寫單人的,不過有些優(做)秀(死)的人表示女友不止一個。現已支持添加多人信息。html
Github: github.com/sfyc23/Ever…。python
定時給女友發送每日天氣、提醒、每日一句。git
天天 9:30 給女友們開始給女友發送內容。github
# 定時任務
scheduler = BlockingScheduler()
# 天天9:30給女友發送每日一句
# scheduler.add_job(start_today_info, 'cron', hour=9, minute=30)
scheduler.start()
複製代碼
start_today_info 是方法處理類。json
數據來源: ONE●一個api
def get_dictum_info(self):
''' 獲取格言信息(從『一個。one』獲取信息 http://wufazhuce.com/) :return: str 一句格言或者短語 '''
print('獲取格言信息..')
user_url = 'http://wufazhuce.com/'
resp = requests.get(user_url, headers=self.headers)
soup_texts = BeautifulSoup(resp.text, 'lxml')
# 『one -個』 中的每日一句
every_msg = soup_texts.find_all('div', class_='fp-one-cita')[0].find('a').text
return every_msg
複製代碼
天氣數據來源:SOJSONbash
def get_weather_info(self, city_code=''):
weather_url = f'http://t.weather.sojson.com/api/weather/city/{city_code}'
resp = requests.get(url=weather_url)
if resp.status_code == 200 and resp.json().get('status') == 200:
weatherJson = resp.json()
# 今日天氣
today_weather = weatherJson.get('data').get('forecast')[1]
複製代碼
city_code 城市對應 id。 cdn.sojson.com/_city.json微信
itchat.auto_login()
itchat.send(today_msg, toUserName=name_uuid)
複製代碼
使用 pip install -r requirements.txt 安裝全部依賴網絡
config.yaml併發
alarm_timed: '9:30'
girlfriend_infos:
-
#女朋友微信暱稱
wechat_name: '古典'
#女朋友所在桂林
city_name: '桂林'
# 從那天開始勾搭的
start_date: '2017-11-11'
# 短句的最後留言
sweet_words: '來自最愛你的我。'
#若是你有多個女朋友須要發送,則參照這個樣式,複製便可
-
wechat_name: '陳老師'
city_name: '朝陽區'
start_date: '2018-11-11'
sweet_words: '來自你俊美的老公。'
複製代碼
python run.py
複製代碼
項目地址:github.com/sfyc23/Ever… 寫完後才發現,我並無女友啊!