grab_one.py 998 B

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. """抓取 PHP 单接口响应并美化打印:python grab_one.py /store/order.delivery/list "page=1" """
  3. import json
  4. import os
  5. import re
  6. import sys
  7. from pathlib import Path
  8. import requests
  9. PHP_BASE = os.environ.get("YOSHOP_PHP_BASE", "https://shop.qinys.cn/index.php?s=")
  10. SESSION = requests.Session()
  11. SESSION.trust_env = False
  12. def php_token() -> str:
  13. src = Path(r"F:\import goods\upload_goods.py").read_text(encoding="utf-8")
  14. m = re.search(r'TOKEN\s*=\s*"([^"]+)"', src)
  15. return m.group(1)
  16. def main():
  17. path = sys.argv[1]
  18. params = {}
  19. for item in sys.argv[2:]:
  20. k, _, v = item.partition("=")
  21. params[k] = v
  22. r = SESSION.get(PHP_BASE + path, headers={"Access-Token": php_token()}, params=params, timeout=60)
  23. data = r.json()
  24. print("HTTP", r.status_code, "status", data.get("status"), data.get("message"))
  25. print(json.dumps(data.get("data"), ensure_ascii=False, indent=2)[:20000])
  26. if __name__ == "__main__":
  27. main()