tools.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2025-07-31
  4. ---------
  5. @summary:
  6. """
  7. import re
  8. import requests
  9. from untils.get_imgcode import jy_ocr
  10. def ocr_captcha(headers, proxies=None, max_retries=3):
  11. with requests.session() as s:
  12. s.proxies = proxies if proxies is not None else {}
  13. src = re.compile("'src', '(.*?)'", flags=re.S) # src
  14. href = 'http://wssc.hubeigp.gov.cn/simple_captcha'
  15. code = ''
  16. for _ in range(max_retries):
  17. try:
  18. resp = s.get(href, headers=headers, timeout=30, verify=False)
  19. resp.raise_for_status()
  20. text = resp.content.decode()
  21. img_url = "http://wssc.hubeigp.gov.cn" + "".join(src.findall(text))
  22. img = s.get(img_url, headers=headers, timeout=30, verify=False)
  23. img.raise_for_status()
  24. code = jy_ocr(image=img.content)
  25. if code and len(code) == 6:
  26. return code, s.cookies.get_dict()
  27. except requests.exceptions.RequestException:
  28. break
  29. return code, s.cookies.get_dict()