0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何構(gòu)建Cookie池-2

汽車電子技術(shù) ? 來(lái)源:Python數(shù)據(jù)分析之旅 ? 作者: cauwfq ? 2023-02-24 14:54 ? 次閱讀

一.項(xiàng)目背景

在之前文章構(gòu)建Cookie池(一)我們介紹了如何全自動(dòng)化利用Selenium構(gòu)建Cookie池。但是在實(shí)際開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到反爬措施,成功登錄網(wǎng)頁(yè)的情況也不常見(jiàn),比如會(huì)遇到圖形驗(yàn)證碼和滑塊等,破解時(shí)也比較麻煩,比較好的方法就是我們手動(dòng)協(xié)助登錄,也就是半自動(dòng)化式獲取Cookie,這也相對(duì)來(lái)說(shuō)是一個(gè)比較萬(wàn)能的方法。

本次項(xiàng)目我們爬取的目標(biāo)網(wǎng)址還是閃職網(wǎng),一個(gè)專門(mén)為爬蟲(chóng)工程師進(jìn)行練習(xí)的網(wǎng)址,也
在此非常感謝網(wǎng)站后臺(tái)維護(hù)人員辛勤付出,網(wǎng)址為:http://shanzhi.spbeen.com/,從
中可以看出Cookies有csrftoken和shanzhi_kmer以及它們各自對(duì)應(yīng)的值

poYBAGP4Xu2AHRIcAACbG1uL5bU643.png

二.實(shí)現(xiàn)過(guò)程

from selenium import webdriver
import time
import json


#用戶名
users=[
    {'username':'test123456','password':'test123456'},
    {'username':'wfq123','password':'123'},
    {'username':'cauwfq','password':'cauwfq'},
    {'username':'cauwfq1234','password':'cauwfq1234'}
]

#程序?qū)㈩A(yù)處理內(nèi)容全部處理好
#瀏覽器等著用戶來(lái)處理,比如登錄
#用戶處理的同時(shí),程序一直在監(jiān)聽(tīng)
#直到用戶直接關(guān)閉瀏覽器,程序發(fā)生異常,繼續(xù)往下執(zhí)行

def wait_cookie(driver):
    #循環(huán)監(jiān)聽(tīng)
    while True:
        try:
            #獲取cookies
            cookie_list=driver.get_cookies()
            #獲取cookie值
            cookie_dict={ck['name']:ck['value'] for ck in cookie_list}
            #輸出cookie值
            print(cookie_dict)
        except:
            #寫(xiě)入文件
            with open('./cookies_1.txt', 'a+', encoding='utf8') as f:
                #寫(xiě)入字典
                f.write(json.dumps(cookie_dict))
                #寫(xiě)入換行符
                f.write('n')
            break
    #睡眠3s
    time.sleep(3)


#登錄網(wǎng)址
def login(username,password):
    #初始化url
    url='http://shanzhi.spbeen.com/login/'
    #初始化webdriver
    driver=webdriver.Chrome()
    #最大化窗口
    driver.maximize_window()
    #請(qǐng)求url
    driver.get(url)
    #用戶名輸入框
    username_input=driver.find_element_by_xpath('//*[@id="username"]')
    #發(fā)送用戶名
    username_input.send_keys(username)
    #休眠1秒鐘
    time.sleep(1)
    #密碼輸入框
    password_input=driver.find_element_by_xpath('//*[@id="MemberPassword"]')
    #發(fā)送密碼
    password_input.send_keys(password)
    #獲取cookie
    wait_cookie(driver)


if __name__ == '__main__':
    #遍歷每個(gè)用戶
    for user in users:
        #登錄獲取cookie
        login(user['username'],user['password'])

poYBAGP4XxKAKbUAAADZBZJ1qfw187.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40843
  • Cookie
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10409
  • 全自動(dòng)化
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    1646
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    php中Cookie及其使用

    ,但是對(duì)于絕大多數(shù)的網(wǎng)絡(luò)用戶來(lái)說(shuō)還是傾向于接受Cookie的。因此,我們盡可以放心地使用Cookie技術(shù)來(lái)開(kāi)發(fā)我們的WEB頁(yè)面。   2Cookie是怎樣工作的?   要了解
    發(fā)表于 01-11 09:25

    Cookie是怎樣工作的?

    2"); 接收和處理Cookie   PHP對(duì)Cookie的接收和處理的支持非常好,是完全自動(dòng)的,跟FORM變量的原則一樣,特別簡(jiǎn)單。比如設(shè)置一個(gè)名為MyCookier的Cookie
    發(fā)表于 01-11 09:32

    cookie是什么意思

    cookie是什么意思什么是Cookie?   按照Netscape官方文檔中的定義,Cookie是在HTTP協(xié)議下,服務(wù)器或腳本可以維護(hù)客戶工作站上信息的一種方式。Cookie 是由
    發(fā)表于 01-11 21:26

    COOKIE和SESSION會(huì)話機(jī)制

    網(wǎng)站的老客戶,如果是,它就會(huì)自動(dòng)推送一些你喜歡的內(nèi)容。COOKIE信息,是靠瀏覽器來(lái)進(jìn)行存儲(chǔ)、記錄的,所以,有的時(shí)候,我們清除COOKIE信息之后,這些內(nèi)容就不再存在了!2.為什么要使用COO
    發(fā)表于 07-03 09:13

    Cookie和Session的區(qū)別總結(jié)

    Bean乃至任何Java類,對(duì)象等,運(yùn)用起來(lái)十分便當(dāng)。能夠把Session看做是一個(gè)Java容器類。2. 隱私策略的不同Cookie存儲(chǔ)在客戶端閱讀器中,對(duì)客戶端是可見(jiàn)的,客戶端的一些程序可能會(huì)窺探
    發(fā)表于 01-10 15:11

    構(gòu)建一個(gè)Cookie JAR激情時(shí)鐘

    描述Cookie JAR激情時(shí)鐘我想重現(xiàn)幾年前我最古老的項(xiàng)目之一,當(dāng)時(shí)我建造了一個(gè)類似的時(shí)鐘。只是這一次,我想應(yīng)用不同的技術(shù)并提出更好的設(shè)計(jì)。這個(gè)時(shí)鐘將滾動(dòng)瀏覽一系列浪漫消息,并且每小時(shí)顯示一條
    發(fā)表于 08-01 06:44

    什么是Cookie

    什么是Cookie?   按照Netscape官方文檔中的定義,Cookie是在HTTP協(xié)議下,服務(wù)器或腳本可以維護(hù)客戶工作站上信息的一種方式。Cooki
    發(fā)表于 01-11 09:27 ?2281次閱讀

    網(wǎng)絡(luò)Cookie工作原理

    網(wǎng)絡(luò)Cookie工作原理 引言 雖然大多數(shù)網(wǎng)絡(luò)Cookie使用起來(lái)相當(dāng)簡(jiǎn)單,但是它們也有自己獨(dú)特的原理。
    發(fā)表于 08-04 08:32 ?4132次閱讀

    Cookie數(shù)據(jù)是如何移動(dòng)的?

    Cookie數(shù)據(jù)是如何移動(dòng)的? Cookie數(shù)據(jù)只是網(wǎng)站存儲(chǔ)在您的硬盤(pán)上的一個(gè)名稱/值對(duì)。所有Cookie數(shù)據(jù)都是這樣。網(wǎng)站存儲(chǔ)此數(shù)據(jù),并在以后接收此數(shù)據(jù)。一個(gè)網(wǎng)站只能接收其
    發(fā)表于 08-04 08:33 ?911次閱讀

    網(wǎng)站是如何使用Cookie的?

    網(wǎng)站是如何使用Cookie的? Cookie由于為使用網(wǎng)站的人解決了一個(gè)大問(wèn)題而逐漸發(fā)展起來(lái)。從廣義上說(shuō),Cookie允許網(wǎng)站在計(jì)算機(jī)上存儲(chǔ)狀態(tài)信息,這些信息可讓網(wǎng)站記住瀏
    發(fā)表于 08-04 08:33 ?1651次閱讀

    什么是Cookie

    什么是Cookie    英文縮寫(xiě): Cookie 中文譯名: 小甜餅 分  類: IP與多
    發(fā)表于 02-22 17:18 ?650次閱讀

    cookie的作用

    cookie也可以叫做瀏覽器緩存,主要就是為了辨別用戶的資料,有兩種類型分別是會(huì)話cookie和持久cookie。本文主要詳細(xì)闡述cookie的作用以及
    的頭像 發(fā)表于 12-10 16:12 ?1.5w次閱讀

    cookie和session區(qū)別

    本視頻主要詳細(xì)闡述了cookie和session區(qū)別,cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。cookie不是很安全,別人可以分析存放在本地的COOKIE
    的頭像 發(fā)表于 12-12 15:48 ?10.4w次閱讀

    如何構(gòu)建Cookie-1

    由于http協(xié)議是無(wú)狀態(tài)的協(xié)議,簡(jiǎn)單理解為如果客戶端向服務(wù)器發(fā)送兩次請(qǐng)求,這 兩次請(qǐng)求是獨(dú)立的,,也就是說(shuō)服務(wù)器根本不知道是同一個(gè)客戶端發(fā)送過(guò)來(lái)的請(qǐng)求。所 以為了維護(hù)客戶端的請(qǐng)求狀態(tài),Cookie技術(shù)應(yīng)用而生。
    的頭像 發(fā)表于 02-24 14:52 ?933次閱讀
    如何<b class='flag-5'>構(gòu)建</b><b class='flag-5'>Cookie</b><b class='flag-5'>池</b>-1

    構(gòu)建便捷海外IP代理:策略與實(shí)踐

    構(gòu)建便捷海外IP代理是一個(gè)涉及多方面策略與實(shí)踐的過(guò)程。
    的頭像 發(fā)表于 11-14 07:34 ?140次閱讀