python爬蟲 模擬登陸扇貝單詞

2021-07-11 20:31:33 字數 2217 閱讀 2697

登完了教務處,就試試登陸別的吧,這次選擇的是扇貝單詞的網頁版,貌似是用djando搭建的。

用chrome的開發者工具先觀察一下登陸的過程,可以發現post表單的內容還是比較簡單的,就是自己的使用者名稱密碼,還有乙個csrftoken的東東,雖然不知道是啥,至少使用者名稱密碼沒有進行加密處理一切就好辦了。

順便學習一下什麼是csrf。

csrf(cross-site request forgery)跨站請求偽造,由於目標站無token/referer限制,導致攻擊者可以使用者的身份完成操作達到各種目的。

不明覺厲。。

多登陸了幾次發現這個csrf值是會變每次隨機生成的,大概也是為了安全吧,那麼怎麼獲得呢。再次分析一下登陸過程,發現中未登陸前的cookie裡會有乙個csrf值,和登陸後post表單裡的值是一樣的,大概就是伺服器先隨機生成乙個token,跟隨使用者資訊一起提交的時候檢測是否一致,一致了才產生乙個session登陸成功,防止別人盜用這個身份進行攻擊,多了一道防禦吧。。那麼既然如此我們就從cookie中拿出csrf跟隨表單一起提交就可以了。

登陸過程還遇到了兩個問題,一開始總是登陸超時,是因為content-length這個頭部,注釋掉就好了,後來爬下來的資訊出現編碼問題,'accept-encoding' : 'gzip, deflate'這個頭部注釋掉也就好了。具體原因我還說不太清楚,網路知識還是太欠缺了。同時也學到了頭部資訊也不是越多越全就好的。。。

好了,爬下來的資訊中包括下面幾行,這樣就說明登陸成功了。然而登陸成功了之後發現頁面是js渲染的,爬下來的靜態網頁裡顯示不了我需要的很多資訊。。暈,那就改天再用selenium+phantomjs來爬取一下吧~

我的空間

我的打卡

我的班級

我的保險

簡訊貝殼

設定退出

下面是**:

# -*- coding: utf-8 -*-

"""created on fri may 13 20:13:41 2016

@author: dj

"""import urllib2

import urllib

import re

import cookielib

import requests

class shanbei:

def __init__(self,username,password):

self.username=username

self.password=password

self.cookiejar = cookielib.lwpcookiejar()#lwpcookiejar提供可讀寫操作的cookie檔案,儲存cookie物件

a=shanbei('使用者名稱','密碼')

a.login()

Python爬蟲模擬登陸豆瓣

coding utf 8 import requests,re from pil import image class doubanspider object def init self self.session requests.session def login self,username,pa...

Python 爬蟲之模擬登陸CSND

基本的指令碼語言是python,雖然不敢說是最好的語言,至少是最好的之一 0.0 用模擬登陸,我們需要用到多個模組,如下 requests beautifulsoup 安裝git clone git cd requests pip install pip pip install requests介紹...

Python 爬蟲模擬登陸知乎

在之前寫過一篇使用python爬蟲爬取電影天堂資源的部落格,重點是如何解析頁面和提高爬蟲的效率。由於電影天堂上的資源獲取許可權是所有人都一樣的,所以不需要進行登入驗證操作,寫完那篇文章後又花了些時間研究了一下python模擬登陸,網上關於這部分的資料很多,很多demo都是登陸知乎的,原因是知乎的登陸...