n19_hb.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env python
  2. # coding:utf-8
  3. import requests,json
  4. from setting import proxies
  5. from urllib import parse
  6. from lxml import etree
  7. from mongo_cho import myco19,r_myco15,myco19_b
  8. from rety import retry
  9. r = requests.session()
  10. r.keep_alive = False
  11. @retry(3)
  12. def r1(ny,pg):
  13. url = 'https://etax.hubei.chinatax.gov.cn/webroot/gzcxAction.do'
  14. headers = {
  15. "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36",
  16. }
  17. params = {
  18. "method":"zdsswfajcx",
  19. "page": pg,
  20. "limit": "15",
  21. "nsrsbh": "",
  22. "zzjgdm": "",
  23. "nsrmc": "",
  24. "fddbrmc": "",
  25. "fddbrzjh": "",
  26. "cwfzrmc": "",
  27. "cwfzrzjh": "",
  28. "nsrlx": "",
  29. "ds": "",
  30. "zcdz": "",
  31. "ajxz": "",
  32. "ssnd": parse.quote(ny),
  33. }
  34. response = r.get(url=url,headers=headers,params=params,proxies=proxies)
  35. # print(response.text)
  36. rsd = response.json()
  37. cot = rsd['count']
  38. rpg = cot//15 + 2
  39. rsl = rsd['data']
  40. # if rsl:
  41. # myco19.insert_many(rsl)
  42. list1 = []
  43. list2 = []
  44. for i in rsl:
  45. url1 = i['LSH']
  46. utf = r_myco15.sismember('n19', url1) ##更改
  47. if not utf:
  48. list1.append(i)
  49. list2.append(url1)
  50. else:
  51. print('已存在,>>>n01')
  52. if list1:
  53. myco19.insert_many(list1)
  54. print('已存入原始库')
  55. if list2:
  56. myco19_b.insert_many(list1)
  57. print('已存入备份原始库')
  58. for mis in list2:
  59. r_myco15.sadd('n19', mis) ##更改
  60. # print(rpg)
  61. return rpg
  62. def runs(ny1,ny2):
  63. # for ny1 in range(2020,2021):
  64. # for ny2 in range(1,13):
  65. ny = str(ny1)+'年'+str(ny2)+'月'
  66. rpg = r1(ny,pg=1)
  67. print(ny,'======')
  68. if rpg >1:
  69. for pg in range(2,rpg):
  70. print(pg,'==')
  71. rpg = r1(ny, pg)
  72. runs('2023','11')