爬蟲之Cookie獲?。豪脼g覽器模擬一個cookie出來、面對反爬蟲、加密的cookie的應(yīng)對方法
- 在爬蟲或模擬請求時,特別是獲取驗證碼的時候,反爬蟲的網(wǎng)站的cookie或定期失效,復(fù)制出來使用是不行的
- 為了應(yīng)對這種方式,我們可能就需要像瀏覽器打開網(wǎng)站一樣,取得它信任的cookie
- selenium就是一個很好的手段
一、什么是selenium
- Selenium最初是一個自動化測試工具,Selenium可以驅(qū)動瀏覽器自動執(zhí)行自定義好的邏輯代碼,即通過代碼完全模擬使用瀏覽器自動訪問目標(biāo)站點并操作,所以也可以用來爬蟲。
二、準(zhǔn)備工作
- 安裝Chrome
- 下載對應(yīng)版本的chromedriver.exe
2.1 chrome 查看版本
# chrome地址欄輸入下面的內(nèi)容即可查看
chrome://version/
文章來源地址http://www.zghlxwxcb.cn/news/detail-795309.html
2.2 下載對應(yīng)版本的chromedriver.exe
- 上下2圖的版本號要對應(yīng)上(最新版本的chrome的driver可能還沒有)
2.3 一組對應(yīng)上的chrome和driver
- 微信搜索“數(shù)字續(xù)堅”,在“資源”TAB頁面,輸入“selenium”,然后復(fù)制百度網(wǎng)盤的下載地址
- 注意:chrome會自動更新,建議安裝chrome前,先在hosts文件中加入如下內(nèi)容,屏蔽chrome的自動升級
127.0.0.1 update.googleapis.com
三、編碼實現(xiàn)
- 這里就不廢話了,如下代碼
// Java 代碼
//目標(biāo)網(wǎng)站的網(wǎng)址,也可以直接是驗證碼鏈接
String targetUrl = "https://www.baidu.com";
//設(shè)置chromedriver.exe的路徑,下方是在當(dāng)前目錄下
System.setProperty("webdriver.chrome.driver", "./chromedriver100.exe");
ChromeDriver chromeDriver =new ChromeDriver();
chromeDriver.get(url);
//讀取cookie
Set<Cookie> cookies = chromeDriver.manage().getCookies();
String cookieStr = "";
for (Cookie cookie : cookies) {
cookieStr += cookie.getName() + "=" + cookie.getValue() + ";";
}
//打印cookie結(jié)果
System.out.println(cookieStr);
四、快速獲取cookie的辦法
- 針對其他語言、其他系統(tǒng)或不想配置chrome+driver的兄弟,這里提供了快速獲取的辦法
- 見文檔。
文章來源:http://www.zghlxwxcb.cn/news/detail-795309.html
到了這里,關(guān)于爬蟲之Cookie獲取:利用瀏覽器模擬一個cookie出來、面對反爬蟲、加密的cookie的應(yīng)對方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!