Python爬取登入後的OJ練習中的題目資料

2021-08-08 23:37:46 字數 2345 閱讀 9078

備註:python:2.7.12  ubantu:16.04(32位)瀏覽器:firefox

(其實是因為想練習一下request登入之後儲存cookies~~)

博主是湖南農業大學的大三學生,因為本校acm較弱(苦笑臉),oj也沒啥人維護,竊以為很容易爬,就拿來練手啦hhhhhhh

找到登入頁面按好f12~~~

然後我們隨便輸入乙個賬號和密碼,這樣網頁會給我們彈出乙個密碼錯誤的提示,不會跳轉,就可以抓到乙個post請求

點進去就可以在右邊看到headers和要傳的引數,這樣就可以對症下藥啦

在訊息頭的右邊的右邊有個引數 -.-

這樣我們需要post的資料就已經出來了

datas=

id和password都好理解,但是這個csrf是個什麼東西呢??

其實這個csrf在原來的登入頁面的html裡面有,不信可以找找看?

但是= =  尷尬的是 我本來以為直接urlopen獲取的html裡面就有!但是。。。我用正則匹配了半天竟然沒找到! 生氣

你們可以先試試。。。。

後來看了一下network才發現,點進這個頁面的時候竟然有個get請求,天啦嚕

而且這名字。。。真的通俗易懂,點瀏覽器進去檢視了一下html**發現真的是那個csrf的vaule,就很氣。。。。。

好啦,到這裡所有引數都獲取到了 接下來就是敲**登入以及爬取題目資料了,登入好了就可以用beautifulsoup處理了,都很簡單了啦~就不多寫了~

最重要的!貼**!

#author:huxinjianzs

import requests

import urllib2

import re

from bs4 import beautifulsoup

loginurl='' #實際提交表單頁面

headers=

def getcsrf():

firsturl='' #獲取csrf請求頁面

req=urllib2.request(firsturl)

page=urllib2.urlopen(req)

html=page.read()

t=re.compile(r'name="csrf" value="(.+)" ') #使用正規表示式進行匹配

list=t.findall(html)

return list[0]

def login(datas):

geturl='' #需要爬取的登入之後的頁面

s=requests.session() #構建session物件

post=s.post(loginurl,data=datas,headers=headers) #post資料

get=s.get(geturl,cookies=post.cookies,headers=headers)

return get.content #返回html

def download(html):

soup=beautifulsoup(html)

list=soup.findall('tr',class_=)

name=re.compile(r'">(.+)')

href=re.compile(r'href="(.+)">')

url=''

for i in list:

print i.text+' '+url+i.find('a').attrs['href']

csrf=getcsrf()

paprm=

html=login(paprm)

download(html)

練 python爬取小說

coding utf 8 爬取 by asdfv 將每部 的章節內容儲存至本地 import urllib2,re from bs4 import beautifulsoup import threading 請求並獲取網頁原始碼 defget html content url header req...

Scrapy入門 爬取需要登入後才能訪問的資料

前面幾篇文章抓取的均是公開的資料,即沒有控制訪問許可權即可瀏覽的資料。但還是存在一些 比如教學管理系統 內部論壇等 它會首先要求你登入,然後才能訪問到後續的內容。這種情況下,就要首先解決登入授信的問題。在開始編碼實現前,我們先了解下登入授信的原理。cookie 那客戶端是如何拿到cookie的呢,下...

Python爬蟲例項(二)爬取資料後併入excel

報錯 module not found error no module named openpyxl 原始碼 import requests from lxml import etree import pandas as pd 設定請求頭 headers cookies 儲存列表 film 封裝ur...