av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

cookies應對python反爬蟲知識點詳解

瀏覽:113日期:2022-07-04 11:38:02

在保持合理的數(shù)據(jù)采集上,使用python爬蟲也并不是一件壞事情,因為在信息的交流上加快了流通的頻率。今天小編為大家?guī)砹艘粋€稍微復雜一點的應對反爬蟲的方法,那就是我們自己構造cookies。在開始正式的構造之前,我們先進行簡單的分析如果不構造cookies爬蟲時會出現(xiàn)的一些情況,相信這樣更能體會出cookies的作用。

網(wǎng)站需要cookies才能正常返回,但是該網(wǎng)站的cookies過期很快,我總不能用瀏覽器開發(fā)者工具獲取cookies,然后讓程序跑一會兒,每隔幾分鐘再手動獲取cookies,再讓程序繼續(xù)跑吧。如果反復這樣工作,那么寫爬蟲也就沒意義了。便開始對cookies進行分析。

從瀏覽器的開發(fā)者工具獲取到的cookies大約有10個字段,經(jīng)過反復測試,能讓網(wǎng)站正常返回的只需要兩個字段,分別為__jsluid_h=011a522dbxxxxxxxxc1ce59d336e5e60和__jsl_clearance=1581880640.794|0|trTB4c6b%2BZpvxxxxxxxx8YqCOOo%3D (中間打碼處理)。

經(jīng)過測試,如果請求的時候不自己構造cookies,默認會返回__jsluid_h :

cookies應對python反爬蟲知識點詳解

先嘗試了將那段js腳本保存下來,包裝成一個html文件打開,發(fā)現(xiàn)瀏覽器不停的刷新,也并沒起什么作用。那就分析一下js腳本,原來的代碼是單行的,自己整理一下并加了一些變量名和log,大概是這么個樣子:

cookies應對python反爬蟲知識點詳解

將第16行的變量cmd打印出來看看,發(fā)現(xiàn)是另一段類似的腳本:

cookies應對python反爬蟲知識點詳解

可以看到第二段腳本已經(jīng)開始設置cookies的__jsl_clearence 字段了。這些顯然就是混淆后的js腳本,但是分析到這里也就大概弄明白了從發(fā)送請求到網(wǎng)站返回是怎么回事。之所以在本地跑這段代碼會不斷刷新,是因為第二行的setTimeout會讓其在1.5秒后重新請求,但是我們本地沒有服務處理請求讓其停止,所以會不斷的刷新。

而第一段腳本當中,變量y是完整的js代碼 ,代碼中的變量名和關鍵字被進行編碼了,變量x存儲的是用來替換的變量名和關鍵字,后面是解碼函數(shù)。所以現(xiàn)在的問題變成了獲取第一段腳本當中的cmd代碼,執(zhí)行后再獲取第二段代碼的document.cookie的內(nèi)容即可。

可是對于python和js的交互我完全沒接觸過,嘗試了PyExecJS和Js2Py,都沒辦法正常執(zhí)行第一段腳本。無奈之下,我用python復現(xiàn)了第一段腳本,然后用Js2Py獲取了cookie。在請求一次過后,構造cookies,再請求一次,就可以了:

def test(): url = REQUEST_URL # url = ’https://www.baidu.com’ request_header = get_header() html = requests.get(url, headers=request_header) print(html) jscode = html.text # print(jscode) # tryjs.get_cookies()為復現(xiàn)的js代碼,以及用Js2Py獲取cookies的代碼 request_cookies = try_js.get_cookies(jscode) request_cookies += ’;__jsluid_h=’ + html.cookies[’__jsluid_h’] request_header[’Cookie’] = request_cookies print(request_header) html = requests.get(url, headers=request_header, timeout=5) print(’new connection’) print(html) print(html.text)

在經(jīng)歷重重的分析試驗后,我們終于得出以上的代碼成功實現(xiàn)了構造cookies。相信經(jīng)過本篇的學習,小伙伴們又多了一種解決爬蟲阻攔獲取數(shù)據(jù)的cookies辦法了,趕快行動起來吧。

到此這篇關于cookies應對python反爬蟲知識點詳解的文章就介紹到這了,更多相關如何構造cookies應對python反爬蟲內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美成人一区二区 | 99精品国自产在线 | 亚洲色图在线观看 | 精品成人一区二区 | 福利色导航 | 亚洲成人自拍 | 日韩天堂av| 欧美一区永久视频免费观看 | 成人在线视频观看 | 国产成人精品一区二区三区四区 | 91视频在线看| 成人免费看片又大又黄 | 中文字幕一区二区三区乱码在线 | www.五月婷婷.com | 中文字幕亚洲精品 | 中文字幕男人的天堂 | 永久精品| 日韩一区二区在线播放 | 免费h在线 | 欧美 日韩 国产 成人 | 亚洲精选一区二区 | 在线看无码的免费网站 | 精品免费视频 | 久久免费视频在线 | av黄色在线 | 九九国产 | 亚洲人成人一区二区在线观看 | 日韩电影在线 | 亚洲精品久久嫩草网站秘色 | 久久小视频| 日本在线网址 | 久久久.com| 日韩av一区二区在线观看 | 亚洲欧美激情网 | 国产黄色小视频在线观看 | 欧美xxxx网站 | 91精品久久久久久久久99蜜臂 | 国产亚洲日本精品 | www.亚洲 | 国产中文字幕在线观看 | 日韩精品中文字幕一区二区三区 |