• 大小: 8KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2023-08-08
  • 语言: Python
  • 标签: python  

资源简介

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

评论

共有 条评论