中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么實現一個手機號碼獲取妹子名字的功能

發布時間:2021-04-26 11:08:21 來源:億速云 閱讀:432 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Python怎么實現一個手機號碼獲取妹子名字的功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。

1.目標場景

不知道你有沒有經歷過這樣一個場景,好不容易拿到一個妹子的手機號,但是又不好意思去搭訕,問一下對方的名字。

Python怎么實現一個手機號碼獲取妹子名字的功能

有過社工科經驗的人應該都知道,拿到一個人的手機號碼后,其他信息都可以很容易獲取到,除了花錢之外,利用支付寶的「模擬轉賬」方式,可以非常方便的拿到對方的全名。

下面我們用 Python 實現一個手機號碼獲取妹子名字的功能。

2.編寫代碼

首先,我們需要爬取國內最常用的一些姓氏,以百度百科 - 中國姓氏為例。

Python怎么實現一個手機號碼獲取妹子名字的功能

使用 xpath + requests 可以非常方便地爬取數據。

需要注意的是,必須設置「請求頭」,保證數據能正常的爬取下來。

headers = { 
'Connection': 'keep-alive', 
'Pragma': 'no-cache', 
'Cache-Control': 'no-cache', 
'Upgrade-Insecure-Requests': '1', 
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', 
'Sec-Fetch-Mode': 'navigate', 
'Sec-Fetch-User': '?1', 
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 
'Sec-Fetch-Site': 'none', 
'Accept-Encoding': 'gzip, deflate, br', 
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 
} 
def __get_common_family_names(self): 
""" 
爬取常用的姓氏 
:return: 
""" 
resp_text = requests.get(family_name_url, headers=headers).content 
# print(resp_text) 
htmlElement = etree.HTML(text=resp_text) 
# 500多個常見姓氏 
names_pre = htmlElement.xpath("//table[@log-set-param='table_view']//tr//td/a/text()") 
# 過濾復姓 
names = list(filter(self.__get_avai_name, names_pre)) 
print(f'常見姓氏:{len(names)}種') 
return names

拿到常見的姓氏數據后,接著就使用自動化工具 Airtest 模擬打開支付寶 App,并一步步地跳轉到轉賬界面

def __open_app(self): 
  """ 
  打開轉賬界面 
  :return: 
  """ 
  home() 
  print('打開支付寶') 
  stop_app(self.package_name_aliply) 
  start_my_app(self.package_name_aliply, self.target_activity_name) 
  # 轉賬 
  self.poco('com.alipay.android.phone.openplatform:id/app_text', text=u'轉賬').click() 
  # 轉賬到支付寶 
  self.poco('com.alipay.mobile.transferapp:id/to_account_view_tv', text=u'轉到支付寶').click() 
  # 輸入賬號 
  self.poco('com.alipay.mobile.antui:id/input_edit').set_text(self.account) 
  # 點擊下一步 
  self.poco('com.alipay.mobile.transferapp:id/tf_toAccountNextBtn').click()

需要注意的是,像 Flyme 等系統為了防止信息泄露,支付寶應用內是關閉調試模式的,也就是沒法利用 adb 連接不上設備。

這里只需「臨時關閉保護功能」即可。

Python怎么實現一個手機號碼獲取妹子名字的功能

如果是非好友關系,轉賬界面對方顯示的名字不完全,可以點擊「驗證按鈕」,輸入對方的姓氏就能進行確認。

所以,可以遍歷上面獲取到的姓氏,一個個地去驗證。

def __simulate_transfer(self, last_name): 
  """ 
  模擬轉賬 
  :return: 
  """ 
  # 如果不是好友,就不會顯示全名 
  # 點擊驗證名稱 
  verify_element = self.poco('com.alipay.mobile.transferapp:id/tf_receiveNameTextView') 
  verify_element.click() 
 
  # 姓名除去姓氏 
  first_name_pre = verify_element.get_text() 
 
  # 獲取真實的first name 
  self.first_name = first_name_pre[:first_name_pre.index('(')] 
 
  # 獲取姓氏輸入框 
  input_element = self.poco('com.alipay.mobile.antui:id/dialog_custom_view').parent().children()[1].children()[0] 
 
  input_element.set_text(last_name) 
 
  # 點擊確認按鈕,開始驗證 
  self.poco('com.alipay.mobile.antui:id/ensure').click()

另外,轉賬頁面可以先利用界面元素拿到妹子不包含姓氏的名字。

如果輸入的姓氏不正確,則會彈出警告對話框,否則就能拿到妹子的姓氏了。

def __judge_family_name(self): 
  """ 
  判斷姓氏輸入是否正確 
  :return: 
  """ 
  msg_error = self.poco('com.alipay.mobile.antui:id/message', text=u'姓名和賬戶不匹配,為避免轉錯賬,請核對') 
  btn_ensure = self.poco('com.alipay.mobile.antui:id/ensure') 
  yes_or_right = False 
  # 姓氏不對 
  if msg_error.exists(): 
    print('姓氏輸入不正確') 
    btn_ensure.click() 
    yes_or_right = False 
  else: 
    print('姓氏輸入正確') 
    yes_or_right = True 
  return yes_or_right

組合的上面獲取到的數據,就能得到妹子完整的名字啦。

關于“Python怎么實現一個手機號碼獲取妹子名字的功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤峰市| 雷山县| 宽城| 贵阳市| 庆阳市| 岐山县| 邻水| 靖西县| 五指山市| 威远县| 视频| 花莲县| 福州市| 江北区| 新乐市| 太和县| 康定县| 类乌齐县| 桂阳县| 达州市| 富民县| 筠连县| 永福县| 山阳县| 吉木乃县| 馆陶县| 阳高县| 运城市| 万山特区| 资源县| 金门县| 连云港市| 法库县| 侯马市| 外汇| 疏附县| 临清市| 精河县| 永泰县| 蕲春县| 蒲江县|