資源簡介
python自動登陸該網站并下載網站內容:功能主要有自動登陸、自動識別驗證碼、以及自動識別下載格式進行判斷下載!
代碼片段和文件信息
import?requests
from?lxml?import?etree
import?re
import?time
import?os
from?aip?import?AipOcr
from?PIL?import?Image
#?本代碼是研究了好久才寫出來,七功能主要有自動登陸、自動識別驗證碼、以及自動識別下載格式進行判斷下載!
#?首先,搬上我們的主角網址,http://lavteam.org/,進去一看,是一個俄羅斯人創建的網站,七內容讓我們不亦樂乎。
session?=?requests.Session()
headers?=?{
????‘User-Agent‘:?‘Mozilla/5.0?(Windows?NT?6.1;?WOW64)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/68.0.3440.106?Safari/537.36‘
}
first_url?=?‘http://www.lavteam.org/‘
#?2.?登陸
#?要進行分析,首先要注冊一個賬號,賬號各位自己注冊。
#?抓包發現,他的登陸請求地址為http://www.lavteam.org/,其中表單:
#???login_name:?******
#???login_password:?******
#???login:?submit
#???image.x:?43
#???image.y:?11
#?我們構造表單,進行請求,其函數為:
def?login():
????print(‘正在登陸......‘)
????req?=?session.get(first_url)
????data?=?{
????????????‘login_name‘:?‘賬號‘
????????????‘login_password‘:?‘密碼‘
????????????‘login‘:?‘submit‘
????????????‘image.x‘:?‘47‘
????????????‘image.y‘:?‘8‘
????}
????req?=?session.post(first_urldata?=?data)
????print(‘登陸成功!‘)
#?3.?查詢
#?登陸進去就需要查找自己想要的內容,比如我們輸入ventsim,然后進行抓包,抓包得到:
#?
#?Request?URL:?
#?http://lavteam.org/
#?
#?Request?Method:?
#?POST
#?
#?其表單為:???
#?接著我們再構造其請求,請求返回的內容列表我把他整理成字典的格式,方便在于我只要輸入軟件編號,就可以對該內容進行深入操作,
#?我對多頁內容都進行了遍歷,所有的內容鏈接都整理了出來,代碼如下:
def?reach(ventsim):
????data?=?{
????????????‘do‘:?‘search‘
????????????‘subaction‘:?‘search‘
????????????‘story‘:?ventsim
????????????‘x‘:?‘42‘
????????????‘y‘:‘9‘?
????}
????req?=?session.post(first_urldata?=?data).text
????html?=?etree.HTML(req)
????url?=?html.xpath(‘//div[@class=“text-left“]/a/@href‘)
????name?=?html.xpath(‘//div[@class=“text-left“]/a/text()‘)
????num?=?html.xpath(‘//div[@class=“navigation?ignore-select“]/a/text()‘)[-2]
????f?=?{}
????for?i?in?range(len(name)):
????????f[i]?=?url[i]
????????print(iname[i])
????for?k?in?range(int(num)-1):
????????search_start?=?2?+?k
????????result_from?=?11?+?10*k
????????data?=?{
????????????‘do‘:?‘search‘
????????????‘subaction‘:?‘search‘
????????????‘search_start‘:?str(search_start)
????????????‘full_search‘:‘0‘?
????????????‘result_from‘:?str(result_from)
????????????‘story‘:?ventsim
????????}
????????req?=?session.post(‘http://www.lavteam.org/index.php?do=search‘?data=data).text
????????html?=?etree.HTML(req)
????????url?=?html.xpath(‘//div[@class=“text-left“]/a/@href‘)
????????name?=?html.xpath(‘//div[@class=“text-left“]/a/text()‘)
????????for?j?in?range(len(name)):
????????????f[(k+1)*10+j]?=?url[j]
????????????print((k+1)*10+jname[j])
????return?f
#?4.?進入詳情界面
#?我們從上一步查詢的返回值中,找到軟件詳情頁面的鏈接,然后進行請求,抓包得到的結果:
#?Request?URL:?
#?http://lavteam.org/2018/04/02/howden-group-ventsim-visual-premium-v4869.html
#?
#?Request?Method:?
#?GET
#?IDA?Console?Courier?New?monospace“>然后再用python進行構造這個請求,代碼如下:
def?intopage(url):
????page?=?session.get(url).text
????html?=?etree.HTML(page)
????url?=?html.xpath(‘//a[@target=“_blank“?and?@class?=?“medium?blue?awesome“or?@class?=?“medium?red?awesome“?or?@class?=?“small?blue?awes
評論
共有 條評論