這篇文章主要介紹了如何實(shí)現(xiàn)python爬蟲網(wǎng)頁登錄,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
相信各位在寫python爬蟲的時(shí)候會在爬取網(wǎng)站時(shí)遇到一些登陸的問題,比如說登陸時(shí)遇到輸入驗(yàn)證碼比如說登錄時(shí)遇到圖片拖拽等驗(yàn)證,如何解決這類問題呢?一般有兩種方案。
使用cookie登陸
我們可以通過使用cookies登陸,首先獲取瀏覽器的cookie,然后利用requests 庫直接登陸cookie,服務(wù)器就會認(rèn)為你是一個(gè)真實(shí)登陸用戶,所以就會返回給你一個(gè)已登陸的狀態(tài),這個(gè)方法是很好用的,基本上絕大部分的需要驗(yàn)證碼登錄的網(wǎng)站都可以通過cookie登錄來解決,
#! -*- encoding:utf-8 -*- import requests import random import requests.adapters # 要訪問的目標(biāo)頁面 targetUrlList = [ "https://httpbin.org/ip", "https://httpbin.org/headers", "https://httpbin.org/user-agent", ] # 代理服務(wù)器 proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理隧道驗(yàn)證信息 proxyUser = "username" proxyPass = "password" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host": proxyHost, "port": proxyPort, "user": proxyUser, "pass": proxyPass, } # 設(shè)置 http和https訪問都是用HTTP代理 proxies = { "http": proxyMeta, "https": proxyMeta, } # 訪問三次網(wǎng)站,使用相同的Session(keep-alive),均能夠保持相同的外網(wǎng)IP s = requests.session() # 設(shè)置cookie cookie_dict = {"JSESSION":"123456789"} cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True) s.cookies = cookies for i in range(3): for url in targetUrlList: r = s.get(url, proxies=proxies) print r.text 若存在驗(yàn)證碼,此時(shí)采用resp**e = requests_session.post(url=url_login, data=data)是不行的,做法應(yīng)該如下: resp**e_captcha = requests_session.get(url=url_login, cookies=cookies)resp**e1 = requests.get(url_login) # 未登陸resp**e2 = requests_session.get(url_login) # 已登陸,因?yàn)橹澳玫搅薘esp**e Cookie!resp**e3 = requests_session.get(url_results) # 已登陸,因?yàn)橹澳玫搅薘esp**e Cookie!
模擬登陸
這里不得不說一句老話,前人種樹,后人乘涼,當(dāng)時(shí)我想爬一下知乎鹽選的文章,但是卡在了登陸這塊,沒想到搜索下來發(fā)現(xiàn)了一個(gè)模擬登陸的庫,非常好用,不過本著好東西不分享防和諧的原則,就不在這里說了。
具體思路也就是通過requests來進(jìn)行模擬登陸,然后返回一下驗(yàn)證碼,之后傳入驗(yàn)證碼即可登陸成功了。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享如何實(shí)現(xiàn)python爬蟲網(wǎng)頁登錄內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來學(xué)習(xí)!
網(wǎng)站欄目:如何實(shí)現(xiàn)python爬蟲網(wǎng)頁登錄-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.rwnh.cn/article20/doshjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、ChatGPT、商城網(wǎng)站、做網(wǎng)站、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容