搜狗陌陌的抓取總結
優(yōu)采云 發(fā)布時(shí)間: 2020-08-21 22:19搜狗陌陌的抓取總結
最近抓取了搜狗陌陌的數據,雖然也破解了跳轉之類(lèi)的,但是最后由于抓取的鏈接有時(shí)效性舍棄了,也總結下
一樣的,輸入關(guān)鍵詞,抓取列表,再回來(lái)跳轉后的陌陌鏈接
前10頁(yè)是可以隨意看的,也不需要登陸,10頁(yè)以后的數據須要陌陌掃碼登陸,這一塊無(wú)法破解
鏈接參數好多最后可以精簡(jiǎn)為
烽火&page=11&type=2
page就是頁(yè)腳,query就是關(guān)鍵字,type 是搜索文章還是搜索公眾號
其實(shí)很簡(jiǎn)單的代碼,先要在url前面構造出 k 和 h,轉化為 java 代碼就是
// 拼接搜狗跳轉參數k和h
public static String getLinkUrl(String url) {
int b = ((int) Math.floor(100 * Math.random())) + 1;
int a = url.indexOf("url=");
int k = a + 4 + 21 + b;
String d = url.substring(k, k + 1);
System.out.println(d);
url += "&k=" + b + "&h=" + d;
return "https://weixin.sogou.com" + url;
}
有參數的鏈接直接懇求是會(huì )出驗證碼的,需要cookie,需要的cookie只要是兩個(gè) 一個(gè)是 SUV,一個(gè)是SNUID,這兩個(gè)cookie獲取都很簡(jiǎn)單,通過(guò)剖析可以得到
1.SUV 是可以通過(guò)訪(fǎng)問(wèn)來(lái)獲取到
2.SNUID 在搜索的時(shí)侯才會(huì )有了
所以我們加上這兩個(gè)cookie才能獲取到具體的陌陌的鏈接了
剩下的就是把這個(gè)鏈接取下來(lái)就行啦
雖然還有好多細節沒(méi)有建立,但是最坑的是最后的陌陌鏈接是有時(shí)效性的
太坑了,市面上有將有時(shí)效的鏈接轉換為沒(méi)有時(shí)效的鏈接的商業(yè)服務(wù),不知道是她們是如何實(shí)現的。目前在看陌陌客戶(hù)端上面的搜一搜,因為通過(guò)客戶(hù)端的搜一搜搜下來(lái)的鏈接是短短的,應該是失效太長(cháng)的
2020-06-04 更新
找到了轉換永久鏈接的辦法,把有時(shí)效性的鏈接復制到陌陌客戶(hù)端上面,不管是過(guò)沒(méi)過(guò)期的鏈接都是才能打開(kāi)的,再把鏈接復制下來(lái)就是永久的鏈接了,使用了 pythonpyautogui 來(lái)操作的,很簡(jiǎn)單,也太low,速度不快,就不放代碼了。