python 프로젝트 캡 처 동적 웹 페이지 캡 처 공유 기 클 라 이언 트

python 프로젝트 캡 처 동적 웹 페이지 캡 처 공유 기 클 라 이언 트
전신
앞 에 공유 기 를 기어 오 르 는 고객 이 아 날로 그 브 라 우 저 로 로그 인 하 는 방식 으로 쓴 글 이 있 습 니 다.
python 프로젝트 의 공유 기 캡 처 주소:http://blog.csdn.net/lyffly2011/article/details/50485398
개선 하 다.
전단 설계 지식 을 습득 한 후 HTTP 요청 을 통 해 동적 인 데 이 터 를 직접 얻 을 수 있다 는 것 을 깨 달 았 습 니 다.
사고의 방향 을 실현 하 다.
  • 브 라 우 저 디 버 깅 기능 열기, F12
  • 브 라 우 저 데이터 트 래 픽 을 분석 한 XHR 는 요청 사이트 와 데이터
  • 를 얻 었 습 니 다.
  • 시 뮬 레이 션 요청 을 통 해 결 과 를 얻 고 나머지 는 이전 과 유사 합 니 다.
  • 주의 점 은 쿠키, http post 의 payload, 전송 문자열 의 줄 바 꾸 기 입 니 다.
    구체 적 인 코드 는:
    # coding : utf-8
    ####################################################
    # coding by    
    ####################################################
    
    import os
    import time
    import datetime
    import requests
    import base64
    
    #              
    MIMA = b'xxxxxxxx'
    encode_MIMA = base64.b64encode(MIMA).decode("utf-8")
    cookie = 'Authorization=Basic ' + encode_MIMA
    
    headers1 = {
        'Accept': '*/*',
        'Accept-Encoding': 'gzip, deflate,sdch',
        'Accept-Language': 'zh-CN,zh;q=0.8',
        'Connection': 'keep-alive',
        'Content-Type': 'text/plain',
        'Cookie': cookie,
        'Host': '192.168.11.1',
        'Referer': 'http://192.168.11.1/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36\
                      (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36',
    }
    
    headers = {
        'Accept': '*/*',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.8',
        'Connection': 'keep-alive',
        'Content-Length': '98',
        'Content-Type': 'text/plain',
        'Cookie': cookie,
        'Host': '192.168.11.1',
        'Origin': 'http://192.168.11.1',
        'Referer': 'http://192.168.11.1/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36\
                      (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36',
    }
    
    url_dhcpclient = 'http://192.168.11.1/main/dhcpClient.htm?_='
    
    session = requests.Session()
    
    time_ms = str(int(time.time() // 1)) + '012'
    url_dhcpclient += time_ms
    res1 = session.get(url_dhcpclient, headers=headers1)
    print(res1.status_code)
    params = '[LAN_HOST_ENTRY#0,0,0,0,0,0#0,0,0,0,0,0]0,4\r
    leaseTimeRemaining\r
    MACAddress\r
    hostName\r
    IPAddress\r
    '
    url = 'http://192.168.11.1/cgi?5' res = session.post(url=url, data=params, headers=headers) # print(res.request.headers) # print(res.url) # print(res.status_code) # print(res.headers) print(res.text) now = datetime.datetime.now() str_time = now.strftime("%Y_%m_%d_%H_%M_%S") text = res.text filename = str_time + '.txt' with open(filename, 'w+') as f: f.write(text)

    좋은 웹페이지 즐겨찾기