我們在今後的爬蟲學習過程中,要爬許許多多的**。
比如,我訪問了乙個別的**,這兒用人人網做例子。
在人人網登陸介面,使用f12進入開發者模式,找到整個登陸介面的原始碼:
所以,我們可以看到關鍵的登入模組原始碼有乙個關鍵的引數,這個引數是action,儲存登陸的url位址。
action=""
在form表單中尋找action對應的url位址,post的資料是input標籤中的name的值作為鍵,真正的使用者名稱密碼作為值的字典。post的url位址就是action對應的url位址。
尋找post的資料,結合定位js:
1.在開發者模式中,選擇會觸發js時間的按鈕,點選event listener,找到js的位置。
2.通過chrome中的search all file來搜尋url中的關鍵字。
3.抓包,尋找登陸的url,反覆除錯對比,確定不會變的引數。
我們要養成乙個好的習慣,在敲**之前,我們要打出**的草稿如下:
def __init__(self): # 1.1 準備post的url位址,post_data
pass
def parse_url(self): # 1.2 傳送post的資料,獲取響應
pass
def get_ret(self): # 4.提取翻譯的結果
pass
def run(self): # 實現主要邏輯
pass
# 1.獲取語言型別
# 1.1 準備post的url位址,post_data
# 1.2 傳送post的資料,獲取響應
# 1.3 提取語言型別
# 2.準備post的資料
# 3.傳送請求,獲取響應
# 4.提取翻譯的結果
我們需要花很長時間想好主要邏輯,然後打上草稿,之後我們就可以一一詳細化,完成最終的**。
def __init__(self, trans_str): # 1.1 準備post的url位址,post_data
self.trans_str = trans_str
self.lang_detect_url = ""
self.headers =
# 1.2 傳送post的資料,獲取響應
lang = self.parse_url(self.lang_detect_url, lang_detect_data)["lan"]
# 1.3 提取語言型別
# 在網頁原始碼中檢視langdetect的response資料,在1.2末尾處加上乙個「lan」
# 2.準備post的資料
trans_data = if lang == "zh" else \
# 3.傳送請求,獲取響應
dict_respsonse = self.parse_url(self.trans_url, trans_data)
# 4.提取翻譯的結果
輸出結果:
翻譯的結果是: hello everyone!
這段**對比之前的**,得到的優化有:
①可以指定翻譯的初始語言和目標語言。
②實現的翻譯功能更加迅速。
速看!沒有比這更全面的 Firebase 介紹!
說到 firebase,這是乙個很長的 故事 所以我們打算分多次來講 在正式開始之前,先來看一下本次分享主要有哪些內容。第乙個當然是要先搞懂到底什麼是 firebase?然後看一下 firebase 到底有哪些特性?本文會列一些主要的特性,在 firebase 如何幫助我們開發應用 提高應用質量以及...
mysql時間轉換大全,這個更全面
date format 函式用於以不同的格式顯示日期 時間資料。date format date,format format引數的格式有 a 縮寫星期名 b 縮寫月名 c 月,數值 d 帶有英文本首的月中的天 d 月的天,數值 00 31 e 月的天,數值 0 31 f 微秒 h 小時 00 23 ...
識別敏感內容,郵件管控這樣做更全面!
郵件是企業內外溝通交流的重要工具,例如通過郵件與同事溝通工作問題,通過郵件與客戶交流等,然而隨著企業使用郵件的人員增多以及郵件管理的不規範,郵件使用也給企業的資訊保安帶來了很多的隱患。被疏忽的郵件安全 調查顯示,大約有74 的電郵安全事件是由於內部人員將機密資訊在沒有加密,並且失誤操作的情況下發送到...