安全与爱情没什么联系? 甜甜的撩妹技巧送给你实用

By admin

2019-08-07 11:02:07

浏览量16

已赞0

首先,祝各位七夕快乐(毕竟你都点进来了),忘记七夕被喊去应急支配的恐惧,不管有没有女票,节该过还是要过得,虽然我们搞技术的一直被广大女孩子们吐糟不是那么懂浪漫,天真,那只是被表面迷惑的假象,脚本只能用来刷洞嘛?工具只能用来渗透嘛?代码只能用来搬砖换馒头嘛?NO! 事实证明,只要你想,技术就能玩儿出花儿来,博妹子一笑还是绰绰有余的~

本文整理了一些计算机技术撩妹的硬核案例,附上代码,抛砖引玉供各位大佬自行发挥!

 

:技术撩妹大法

案例1:用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话

工作学习忙到头秃经常忘记陪女朋友聊天?词库匮乏不会说甜甜的情话?没关系,脚本统统可以搞定,360°无死角暖男就是你

(*/ω\*)

使用库

功能

定时给女朋友发送每日天气、提醒、每日一句。

数据来源

实现效果

 

 

代码说明

目录结构

 

  • city_dict.py :城市对应编码字典
  • config.yaml :设置定时时间,女友微信名称等参数
  • GFWeather.py:核心代码
  • requirements.txt:需要安装的库
  • run.py:项目运行类

核心代码

GFWeather.py

class gfweather:
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36",
    }
    # 女朋友的用户id
    bf_wechat_name_uuid = ''
    def __init__(self):
        self.city_code, self.start_datetime, self.bf_wechat_name, self.alarm_hour, self.alarm_minute = self.get_init_data()

    def get_init_data(self):
        '''
        初始化基础数据
        :return:
        '''
        with open('config.yaml', 'r', encoding='utf-8') as f:
            config = yaml.load(f)
        city_name = config.get('city_name').strip()
        start_date = config.get('start_date').strip()
        wechat_name = config.get('wechat_name').strip()
        alarm_timed = config.get('alarm_timed').strip()

        init_msg = f"每天定时发送时间:{alarm_timed}\n女友所在城市名称:{city_name}\n女朋友的微信昵称:{wechat_name}\n在一起的第一天日期:{start_date}"
        print(u"*" * 50)
        print(init_msg)

        # 根据城市名称获取城市编号,用于查询天气。查看支持的城市为:http://cdn.sojson.com/_city.json
        city_code = city_dict.city_dict.get(city_name)
        if not city_code:
            print('您输出城市无法收取到天气信息')
        start_datetime = datetime.strptime(start_date, "%Y-%m-%d")
        hour, minute = [int(x) for x in alarm_timed.split(':')]
        # print(hour, minute)
        return city_code, start_datetime, wechat_name, hour, minute

    def is_online(self, auto_login=False):
        '''
        判断是否还在线,
        :param auto_login:True,如果掉线了则自动登录。
        :return: True ,还在线,False 不在线了
        '''

        def online():
            '''
            通过获取好友信息,判断用户是否还在线
            :return: True ,还在线,False 不在线了
            '''
            try:
                if itchat.search_friends():
                    return True
            except:
                return False
            return True

        if online():
            return True
        # 仅仅判断是否在线
        if not auto_login:
            return online()

        # 登陆,尝试 5 次
        for _ in range(5):
            # 命令行显示登录二维码
            # itchat.auto_login(enableCmdQR=True)
            itchat.auto_login()
            if online():
                print('登录成功')
                return True
        else:
            return False

    def run(self):

        # 自动登录
        if not self.is_online(auto_login=True):
            return

        # 定时任务
        scheduler = BlockingScheduler()
        # 每天9:30左右给女朋友发送每日一句
        scheduler.add_job(self.start_today_info, 'cron', hour=self.alarm_hour, minute=self.alarm_minute)
        scheduler.start()

    def start_today_info(self):

        print("*" * 50)
        print('获取相关信息...')
        dictum_msg = self.get_dictum_info()
        today_msg = self.get_weather_info(dictum_msg)

        print(f'要发送的内容:\n{today_msg}')
        if self.is_online(auto_login=True):
            # 获取好友username
            if not self.bf_wechat_name_uuid:
                friends = itchat.search_friends(name=self.bf_wechat_name)
                if not friends:
                    print('昵称错误')
                    return
                self.bf_wechat_name_uuid = friends[0].get('UserName')
            itchat.send(today_msg, toUserName=self.bf_wechat_name_uuid)
        print('发送成功..\n')

    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

    def get_weather_info(self, dictum_msg=''):
        '''
        获取天气信息。网址:https://www.sojson.com/blog/305.html
        :param dictum_msg: 发送给朋友的信息
        :return:
        '''
        print('获取天气信息..')
        weather_url = f'http://t.weather.sojson.com/api/weather/city/{self.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]
            locale.setlocale(locale.LC_CTYPE, 'chinese')
            today_time = datetime.now().strftime('"%Y年%m月%d日 %H:%M:%S"')

            # 今日天气注意事项
            notice = today_weather.get('notice')
            # 温度
            high = today_weather.get('high')
            high_c = high[high.find(' ') + 1:]
            low = today_weather.get('low')
            low_c = low[low.find(' ') + 1:]
            temperature = f"温度 : {low_c}/{high_c}"
            # 风
            fx = today_weather.get('fx')
            fl = today_weather.get('fl')
            wind = f"{fx} : {fl}"
            # 空气指数
            aqi = today_weather.get('aqi')
            aqi = f"空气 : {aqi}"
            day_delta = (datetime.now() - self.start_datetime).days
            delta_msg = f'宝贝这是我们在一起的第 {day_delta} 天'

            today_msg = f'{today_time}\n{delta_msg}。\n{notice}\n{temperature}\n{wind}\n{aqi}\n{dictum_msg}\n来自最爱你的我。'
            return today_msg

项目运行

安装依赖

使用 pip install -r requirements.txt 安装所有依赖

参数配置

config.yaml

#每天定时发送的时间点,如:8:30
alarm_timed: '9:30'
# 女友所在城市名称
city_name: '桂林'
# 你女朋友的微信名称
wechat_name: '古典'
# 从那天开始勾搭的
start_date: '2017-11-11'

最后

项目地址:github.com/sfyc23/Ever…

原文链接https://medium.com/@howal/mathematically-find-out-if-a-girl-is-interested-in-you-44217c75d5fe

案例2:帮女朋友抢限量抢秒杀的淘宝自动下单脚本

女朋友双十一618抢不到自己喜欢的东西?限量的小裙子刚出来就没了?猫爪杯狗爪杯麒麟爪杯想要就是买不到?没关系,有你(和你的代码),以后谁还敢说我们做安全的不懂浪漫?

(*/ω\*)

下面主要介绍Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算的商品。

作者不提供任何服务器端程序,也不提供任何收费抢购软件。该文章仅作为学习selenium框架的一个示例代码。该思路可运用到其他任何网站,京东,天猫,淘宝均可使用,且不属于外挂或者软件之类,只属于一个自动化点击工具,如有侵犯到任何公司的合法权益,请及时联系,会第一时间将相关代码给予删除。

直接上源码:

# !/usr/bin/env python
# -*- coding: utf-8 -*-
# 2019/03/16
# 淘宝秒杀脚本,扫码登录版
from selenium import webdriver
import datetime
import time
 
 
def login():
    # 打开淘宝登录页,并进行扫码登录
    browser.get("https://www.taobao.com")
    time.sleep(3)
    if browser.find_element_by_link_text("亲,请登录"):
        browser.find_element_by_link_text("亲,请登录").click()
        print("请在15秒内完成扫码")
        time.sleep(15)
        browser.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
 
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
 
 
def buy(times, choose):
    # 点击购物车里全选按钮
    if choose == 2:
        print("请手动勾选需要购买的商品")
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now > times:
            if choose == 1:
                while True:
                    try:
                        if browser.find_element_by_id("J_SelectAll2"):
                            browser.find_element_by_id("J_SelectAll2").click()
                            break
                    except:
                        print("找不到购买按钮")
            # 点击结算按钮
            while True:
                try:
                    if browser.find_element_by_link_text("结 算"):
                        browser.find_element_by_link_text("结 算").click()
                        print("结算成功")
                        break
                except:
                    pass
            while True:
                try:
                    if browser.find_element_by_link_text('提交订单'):
                        browser.find_element_by_link_text('提交订单').click()
                        now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
                        print("抢购成功时间:%s" % now1)
                except:
                    print("再次尝试提交订单")
            time.sleep(0.01)
 
 
if __name__ == "__main__":
    times = input("请输入抢购时间,格式如(2018-09-06 11:20:00.000000):")
    # 时间格式:"2018-09-06 11:20:00.000000"
    browser = webdriver.Chrome()
    browser.maximize_window()
    login()
    choose = int(input("到时间自动勾选购物车请输入“1”,否则输入“2”:"))
    buy(times, choose)

发表评论
拖动滑块验证
»
请先 注册/登录 后参与评论

已有0 发布

默认   热门   正序   倒序
    查看更多评论
    已有0次打赏