[네트워크 보안은 당신을 파충류-100 실습으로 안내합니다] 실습 8: json 데이터의 최소 항목 추출

목차

1. 목표 1: 지정된 json의 데이터 크롤링

2. 목표 2: json에서 데이터를 가져오는 루프

3. 목표 3: 각 데이터에서 항목 추출

4. 네트워크 보안의 작은 원


1. 목표 1: 지정된 json의 데이터 크롤링

데이터에서 데이터 크롤링

 


핵심 코드:

        dirt1 = json.loads(res.text)
        print(dirt1['data'])

(1) json.loads() 메서드는 유효한 JSON 문자열을 구문 분석하고 Python 사전으로 변환하는 데 사용할 수 있습니다.

(2) dirt1['data']는 데이터 부분을 json으로 출력하기 위한 것입니다.


작업 결과:

크롤링 완료

 


암호:

import requests
import json
from fake_useragent import UserAgent

def get_json():
    try:
        url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
        ua = UserAgent()
        headers = {
            'User-Agent': ua.chrome,
        }
        res = requests.get(url, headers=headers,timeout=10)
        dirt1 = json.loads(res.text)
        print(dirt1['data'])

    except:
        return ""


if __name__ == '__main__':
    get_json()



2. 목표 2: json에서 데이터를 가져오는 루프

목록에 들어갈 부분이 2개 있습니다.

따라서 목록에 있는 데이터를 가져오려면

dirt1['data']['detailList']

 주기:

루프를 사용하여 구분

        for item in dirt1['data']['detailList']:
            print(item)

 

암호:

import requests
import json
from fake_useragent import UserAgent

def get_json():
    try:
        url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
        ua = UserAgent()
        headers = {
            'User-Agent': ua.chrome,
        }
        res = requests.get(url, headers=headers,timeout=10)
        dirt1 = json.loads(res.text)
        #print(dirt1['data'])
        for item in dirt1['data']['detailList']:
            print(item)

    except:
        return ""


if __name__ == '__main__':
    get_json()


3. 목표 3: 각 데이터에서 항목 추출

표적

이 2개의 지정된 항목 추출

 

이해하다:

이 시점에서 item은 실제로 dirt1['data']['detailList']의 항목과 동일합니다.

그래서

item['resourceKey'] === ['data']['detailList']['resourceKey']

이 코드 줄은 데이터의 더 작은 resourceKey에 대해 정확합니다.

작업 결과:

 

전체 코드:

import requests
import json
from fake_useragent import UserAgent

def get_json():
    try:
        url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
        ua = UserAgent()
        headers = {
            'User-Agent': ua.chrome,
        }
        res = requests.get(url, headers=headers,timeout=10)
        dirt1 = json.loads(res.text)
        #print(dirt1['data'])
        for item in dirt1['data']['detailList']:
            #print(item)
            print(item['resourceKey'])
            print(item['resourceName'])


    except:
        return ""


if __name__ == '__main__':
    get_json()



4. 네트워크 보안의 작은 원

README.md Book Bansheng/Network Security Knowledge System-Practice Center-Code Cloud-Open Source China(gitee.com) https://gitee.com/shubansheng/Treasure_knowledge/blob/master/README.md

GitHub - BLACKxZONE/Treasure_knowledge https://github.com/BLACKxZONE/Treasure_knowledge

Supongo que te gusta

Origin blog.csdn.net/qq_53079406/article/details/131594821
Recomendado
Clasificación