Python Forum

Full Version: format json outputs !
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hello all ...
iam trying to get json data from a website ... this is my code :
import requests
import json
import time

file1 = open('/home/evilcode1/Desktop/list.txt', 'r')
Lines = file1.readlines()
try:
    
    for i in Lines:
        i = (i.strip())
    
        
        time.sleep(3)
        burp0_url = "https://site.com/public_certificate_ajax"
        burp0_cookies = {"XSRF-TOKEN": "eyJpdiI6Im9sSHA1N3hiYlhob1ZqTVVsVU44RlE9PSIsInZhbHVlIjoicTV3cUgwS3lnY2tjaHJnb3NaeHYxZHNoYytEa0ZMRHgrcWQ4czZWR3BHc1BLOTBsckpMZ3BOODJuaU9DSWZlTlU0aWpMdVN1a3BIWHBrYTJtc3AyTTZnRHNVME13RkR2MHdRWWxlc2NRSW9NRVJBc1BQNmVOeDNnSDZ3WFdCZ1EiLCJtYWMiOiI2NTJiMjU5MTkwZjFjYTRmMTlhMzRjMTk3OTA0NDY1YWRiMmI2YzdkNjg5ZGZkMDRmNTgxNGMyMmNiNThiNjgyIn0%3D", "covid_19_vaccine_session": "eyJpdiI6IlVGQzVoUDRLaGJRRUhxcDJVcHdGQmc9PSIsInZhbHVlIjoiZkZvUHUrK2JjVEx5NHJLR2pPZWdaek5kcnl4SVo1M0dnK0o4dFp0NDVSUmpCcHZ1NW5VTHhSbjlxeG5FMUpUS1Q1OVhzUVdMVGFvVWZHL3pBTXhhMUJ5NDFBNlFsakVqeDhMblhaUmx5SS85Sy9kSmpFeGdnS1VONWZiREZCaDgiLCJtYWMiOiI4YmQxMTExOGFmOTQyODZlNTkxZmM4NGFjZGU5MjlhNWYyMzM5YjMxNzM2Yjg4ODc4NDU0MWI1MTY4OTJmNDE1In0%3D"}
        burp0_headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0", "Accept": "*/*", "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate", "X-Csrf-Token": "C220Ih2j3xuYgfrL0LHdiAWU6Jyk1hVVkpIHj7UK", "X-Requested-With": "XMLHttpRequest", , "Referer": "https://site.com/certificate", "Te": "trailers", "Connection": "close", "Content-Type": "application/x-www-form-urlencoded"}
        burp0_data = {"id_no": i}
        q = requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data)
        #q = q.encoding('utf-8') 
        d = q.text
        d = json.loads(d)
        print(d)
except:
    pass
[
json.loads() returns a dictionary. Just print the fields you are interested in.
d = {
    'state': 'success',
    'user': {
        'name': 'قسام عبد الناصر عارف محمود',
        'id_no': '852470000',
        'dob': '1989-00-00',
        'sex': 'ذكر',
        'mobile': '0599000000',
        'district_name': 'رام الله و البيره',
        'clinic_name': 'مجمع رام الله الترويحي'
    },
    'appointments': [
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'app_date': '22/06', 'date_year': '2021'}
    ],
    'doses': [
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'vaccine_type': 'Pfizer', 'dose_sequence': 1, 'dose_date': '01/06', 'date_year': '2021'},
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'vaccine_type': 'Pfizer', 'dose_sequence': 2, 'dose_date': '22/06', 'date_year': '2021'}
    ],
    'print': 1
}

for key, value in d['user'].items():
    if key in ('name', 'id_no', 'dob', 'mobile'):
        print(f"{key:10} : {value}")
Output:
name : قسام عبد الناصر عارف محمود id_no : 852470000 dob : 1989-00-00 mobile : 0599000000
(Nov-21-2021, 08:21 PM)deanhystad Wrote: [ -> ]json.loads() returns a dictionary. Just print the fields you are interested in.
d = {
    'state': 'success',
    'user': {
        'name': 'قسام عبد الناصر عارف محمود',
        'id_no': '852470000',
        'dob': '1989-00-00',
        'sex': 'ذكر',
        'mobile': '0599000000',
        'district_name': 'رام الله و البيره',
        'clinic_name': 'مجمع رام الله الترويحي'
    },
    'appointments': [
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'app_date': '22/06', 'date_year': '2021'}
    ],
    'doses': [
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'vaccine_type': 'Pfizer', 'dose_sequence': 1, 'dose_date': '01/06', 'date_year': '2021'},
        {'clinic_name': 'مديرية صحة رام الله والبيرة', 'vaccine_type': 'Pfizer', 'dose_sequence': 2, 'dose_date': '22/06', 'date_year': '2021'}
    ],
    'print': 1
}

for key, value in d['user'].items():
    if key in ('name', 'id_no', 'dob', 'mobile'):
        print(f"{key:10} : {value}")
Output:
name : قسام عبد الناصر عارف محمود id_no : 852470000 dob : 1989-00-00 mobile : 0599000000

thank u very much it's working :)
My friend, how can I contact you?