cookie用法--抽屉网的自动登录(cookie是通过代码自动获取的)
生活随笔
收集整理的這篇文章主要介紹了
cookie用法--抽屉网的自动登录(cookie是通过代码自动获取的)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.引用自己定義一個類
from random_agent import RandomAgent2. 引用系統的包
from fake_useragent import UserAgent3.創建對象
agent = UserAgent()4. 不要重復 造輪子
?pip search 工具包名字?? 例如:pip search UserAgent"
?pip install fake_useragent
5. cookie
?? 注意: cookie 是對方的服務器設置的
??? 1.如果網站登錄的時候需要寫驗證碼,可以考慮通過cookie直接登錄
??????? 例如:知乎網
??????? 注意: cookie需要手動登錄以后再粘貼
??? 2.如果網站登錄的時候不需要驗證碼,可以考慮通過代碼自動登錄
??????? 例如:抽屜網
??????? 注意: 它的cookie是通過代碼自動獲取的
?6. 抽屜網的登錄邏輯(其他網站不適用)
??? 1.先獲取首頁返回的cookie,因為它是用戶的憑證
??? 2.開始登錄(要攜帶上第一步的cookie)
??? 3.開始點贊/評論
?
?
7.注意: 通過 瀏覽器獲取的操作一般都是 get請求
response = requests.get(
??? url,
??? headers={
??????? # 對應from random_agent import RandomAgent
??????? "User-Agent": RandomAgent.rand()
??????? # "User-Agent": agent.random
??? }
?? 2.攜帶1的cookie進行登錄,服務器返回另一個cookie
9.python27和python36 的區別:
??? # python2.7
??? f = open("1.txt", "w")
??? import codecs
??? f = codecs.open("1.txt", "w", encoding="utf-8")
??? # python3,6
??? f = open("1.txt", "w", encoding="utf-8")
?
?? 10. 面試題
??? 網絡七層從下往上的協議有哪些?
??? 物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層
?? 11.類的相關知識
????? OO:面向對象
????? OOP:面向對象編程
?????OOA:面向對象分析
????? OOD:面向對象設計
?
??? OO的特點:封裝 繼承 多態
??? 多態:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執行結果。允許將子類類型的指針賦值給父類類型的指針
??? 繼承的特點:
??? 1.子類擁有父類的所有屬性和方法
??? 2.子類擁有自己的屬性和方法
??? 3.子類可以重寫父類的方法
??? 例如:
??????? 張無忌-張翠山
??????? 1.張無忌 擁有 張翠山的財產/劍/衣服(屬性)....武當劍法(方法)
??????? 2.張無忌 自己 買房子,學習了乾坤大挪移
??????? 3.張無忌 改進了? 武當劍法
?
from random_agent import RandomAgent2. 引用系統的包
from fake_useragent import UserAgent3.創建對象
agent = UserAgent()4. 不要重復 造輪子
?pip search 工具包名字?? 例如:pip search UserAgent"
?pip install fake_useragent
5. cookie
?? 注意: cookie 是對方的服務器設置的
??? 1.如果網站登錄的時候需要寫驗證碼,可以考慮通過cookie直接登錄
??????? 例如:知乎網
??????? 注意: cookie需要手動登錄以后再粘貼
??? 2.如果網站登錄的時候不需要驗證碼,可以考慮通過代碼自動登錄
??????? 例如:抽屜網
??????? 注意: 它的cookie是通過代碼自動獲取的
?6. 抽屜網的登錄邏輯(其他網站不適用)
??? 1.先獲取首頁返回的cookie,因為它是用戶的憑證
??? 2.開始登錄(要攜帶上第一步的cookie)
??? 3.開始點贊/評論
?
?
7.注意: 通過 瀏覽器獲取的操作一般都是 get請求
response = requests.get(
??? url,
??? headers={
??????? # 對應from random_agent import RandomAgent
??????? "User-Agent": RandomAgent.rand()
??????? # "User-Agent": agent.random
??? }
)
字典headers的關鍵字User-Agent有兩種方式獲得
?? 1.自己寫一個關于獲取useragent的函數?? "User-Agent": RandomAgent.rand()
?? 2.用系統自帶的? "User-Agent": agent.random
8.cookie值得設置:
?? 2.攜帶1的cookie進行登錄,服務器返回另一個cookie
9.python27和python36 的區別:
??? # python2.7
??? f = open("1.txt", "w")
??? import codecs
??? f = codecs.open("1.txt", "w", encoding="utf-8")
??? # python3,6
??? f = open("1.txt", "w", encoding="utf-8")
?
?? 10. 面試題
??? 網絡七層從下往上的協議有哪些?
??? 物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層
?? 11.類的相關知識
????? OO:面向對象
????? OOP:面向對象編程
?????OOA:面向對象分析
????? OOD:面向對象設計
?
??? OO的特點:封裝 繼承 多態
??? 多態:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執行結果。允許將子類類型的指針賦值給父類類型的指針
??? 繼承的特點:
??? 1.子類擁有父類的所有屬性和方法
??? 2.子類擁有自己的屬性和方法
??? 3.子類可以重寫父類的方法
??? 例如:
??????? 張無忌-張翠山
??????? 1.張無忌 擁有 張翠山的財產/劍/衣服(屬性)....武當劍法(方法)
??????? 2.張無忌 自己 買房子,學習了乾坤大挪移
??????? 3.張無忌 改進了? 武當劍法
?
12.完整代碼:
# -*- coding:utf-8 -*- import requests # 引用自己定義一個類 from random_agent import RandomAgent # 引用系統的包 from fake_useragent import UserAgent # 創建對象 agent = UserAgent() for i in range(100):print(agent.random)# 不要重復造輪子 # pip search 工具包名字 例如:pip search UserAgent" # pip install fake_useragenturl = "http://dig.chouti.com" # 通過瀏覽器獲取的操作一般都是get請求 response = requests.get(url,headers={# 對應from random_agent import RandomAgent"User-Agent": RandomAgent.rand()# "User-Agent": agent.random} ) cookies = response.cookies.get_dict()url = "http://dig.chouti.com/login" response = requests.post(url,data={"phone": "8615896901897", "password": "qweqweqwe1", "oneMonth": "1"},headers={"User-Agent": agent.random},cookies=cookies )# print(response.text) cookies1 = response.cookies.get_dict() print(cookies) print(cookies1)# 查看--點贊-- 之后的請求結果 url = "http://dig.chouti.com/link/vote?linksId=17723556" response = requests.post(url,headers={"User-Agent": agent.random},cookies=cookies ) print(response.text)# 1.第一次訪問首頁的時候 服務器 返回一個cookie # 2.攜帶1的cookie進行登錄,服務器返回另一個cookie '''# python2.7f = open("1.txt", "w")import codecsf = codecs.open("1.txt", "w", encoding="utf-8")# python3,6f = open("1.txt", "w", encoding="utf-8") '''13.自己創建的獲取useragent代碼:
# -*- coding:utf-8 -*- # 自己封裝一個用于獲取User-Agent的類 import random # OO:面向對象 # OOP:面向對象編程 # OOA:面向對象分析 # OOD:面向對象設計 '''OO的特點:封裝 繼承 多態多態:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執行結果。允許將子類類型的指針賦值給父類類型的指針繼承的特點:1.子類擁有父類的所有屬性和方法2.子類擁有自己的屬性和方法3.子類可以重寫父類的方法例如:張無忌-張翠山1.張無忌 擁有 張翠山的財產/劍/衣服(屬性)....武當劍法(方法)2.張無忌 自己 買房子,學習了乾坤大挪移3.張無忌 改進了 武當劍法 '''class RandomAgent(object):agent_list = ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"]@classmethoddef rand(cls):# cls.agent_list類屬性# self.agent_list對象屬性# 從列表中隨機選擇一個元素return random.choice(cls.agent_list)if __name__ == '__main__':print(RandomAgent.rand())14.運行結果
總結
以上是生活随笔為你收集整理的cookie用法--抽屉网的自动登录(cookie是通过代码自动获取的)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Semi-Supervised Vide
- 下一篇: 阿里云主机遭受DDOS攻击IP不能使用如