今日頭條有三個加密引數
先找乙個作者的主頁,列如:
然後進去抓包找文章的位址發現:
裡面一共有7個引數,其中 page_type: 1這個不需要變,user_id=108888017311這個是作者的id,count=20,還有這個數量一般不用變。
剩下的咋們乙個個來看,首先max_behot_time=0 咋們可以發現
這裡的第一次引數是0,但是我們也能發現在第一次請求資料成功返回的響應裡面
這是我們下拉獲取的第二個資料報,可以看的max_behot_time引數的值就是上一次獲取到的響應引數
然後現在看剩下的as,cp,_signature引數。
開啟全域性搜尋as可以找到
其中as,cp的**來自ascp.gethoney()函式,點選進去
可以看的這裡是生成as和cp引數的地方,他們的生成和當前時間有關。寫成python就是
def接下來我們來看看_signature引數gethoney():
t =int(time.time())
#t=1551971117
e = str('
%x' %t)
m1 =hashlib.md5()
m1.update(str(t).encode(encoding='
utf-8
'))
i =str(m1.hexdigest()).upper()
(i) o = i[0:5]
n = i[-5:]
a = ''
r = ''
for s in range(0, 5):
a += o[s] +e[s]
r += e[s + 3] +n[s]
eas = '
a1' + a + e[-3:]
ecp = e[0:3] + r + 'e1'
(eas)
(ecp)
return eas, ecp
來自這個 tac.sign(userinfo.id + "" + d.params.max_behot_time)
這個引數加密很繁瑣,跟ua指紋有關。
我想到的破解方法是使用無頭的selenium來進入**然後獲取這個引數。
from selenium import現在我們就可以執行了,執行結果好像頭條會隨機才能成功,會甩出一些錯誤來,這個還沒找到,希望有大佬知道能告訴我。webdriver
from selenium.webdriver.common.by import
byfrom selenium.webdriver.support.ui import
webdriverwait
from selenium.webdriver.support import
expected_conditions as ec
class
selenium_nign():
def__init__(self,url=''
): self.url =url
driver =webdriver.firefoxoptions()
driver.add_argument(
'-headless')
self.driver = webdriver.firefox(firefox_options=driver)
#driver = webdriver.firefox()
self.driver.get(self.url)
def nign(self,time=0):
nign = self.driver.execute_script('''
return tac.sign(108888017311+''+
'''+str(time)+'''
)'''
)#通過這裡來獲取,第乙個引數為作者id,第二個引數就是前面講的max_behot_time引數
return
nign
def cookie(self,blok=0):
#這裡獲取cookie,頭條對id也有加密,正常的session獲取的會話似乎沒辦法通過
ifblok:
self.driver.get(self.url)
cookies =self.driver.get_cookies()
cookie = [item['
name
'] + "
=" + item['
value
'] for item in
cookies]
cookiestr = '
; '.join(item for item in
cookie)
return
cookiestr
defsclock(self):
self.driver.close()
今日頭條 今日頭條三面面經
一面 1 演算法題,程式設計實現nsum 2 實現元素的居中並且寬高比為3 4 3 實現繼承 4 給了一段 給出輸出結果,這個是和非同步相關 5 http的狀態碼有哪些 6 cookie和session的區別,以及如何生成session 7 給 寫輸出和原型鏈相關 8 變數宣告提公升 三面 1 介紹...
今日頭條筆試
問題描述 給定乙個段落,由 n 個句子組成。第 i 個句子的長度為 l i 包含的單詞個數為 w i 句子不包含任何除字母和空格 外的符號。每個句子內部,含有若干個單詞,由空格 分隔。句子不會包含連續的空格。隨後給定 m 個查詢,每個查詢包含乙個句子,需要在段落中尋找相同單詞數量最多的句子。重複的單...
今日頭條emmmmmmm
迭代器的用處就是重複的運作一道一百,像乙個家庭爺爺生了爸爸才能有孫子。這個迭代器級別非常關鍵斷了乙個也不行!迭代器 只要 iter 方法的物件就是迭代物件 字串,列表,元祖,字典,集合,檔案都可迭代物件!next 其實是在遍歷可迭代物件的元素,一遍完成報錯。迭代器 是擁有 iter 方法,迭代物件擁...