Advertisement
repente

Untitled

Jun 2nd, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. import requests
  2. import time
  3. import json
  4. import csv
  5.  
  6.  
  7. def csv_write(path, data):
  8. '''
  9. запись данных в csv формате
  10.  
  11. Parameters:
  12. path (str) : имя файла
  13. data (list) : массив с данными
  14. ----------
  15. '''
  16. with open(path, "a", newline='') as f:
  17. writer = csv.writer(f, delimiter=',')
  18. writer.writerow(data)
  19.  
  20.  
  21. def open_file(path):
  22. '''
  23. извлечение данных из файла в виде массива.. Значение в файле
  24. должны быть в столбик
  25. Parameters:
  26. path (str) : имя файла
  27.  
  28. Returns:
  29. list: массив с данными
  30. '''
  31. with open(path, "r", encoding="utf8") as f:
  32. data = f.read()
  33. return data.split("\n")
  34.  
  35. inns = open_file("inn.txt")
  36.  
  37. for inn in inns:
  38.  
  39. header = {
  40. 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0',
  41. 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
  42. "Connection": "close",
  43. }
  44.  
  45. param = {
  46. 'vyp3CaptchaToken':"",
  47. 'page':"" ,
  48. 'query': inn,
  49. 'region':"",
  50. 'PreventChromeAutocomplete':"",
  51. }
  52.  
  53. url = "https://egrul.nalog.ru/"
  54.  
  55. response = requests.post(url, json = param, headers = header)
  56. token = response.json()["t"]
  57.  
  58. url = "https://egrul.nalog.ru/search-result/" + token
  59.  
  60. response = requests.get(url, headers = header)
  61.  
  62. res_data = response.json() #данные ответа
  63.  
  64. # print(res_data)
  65.  
  66. company_details = []
  67. try:
  68. # извлекаем полученные данные в цикле for
  69. for key in ["g","e", "a", "n", "o", "r", "i"]:
  70. if key in res_data["rows"][0]:
  71. company_details.append(res_data["rows"][0][key])
  72. else:
  73. company_details.append("")
  74.  
  75. csv_write("data.csv", company_details) #запись полученых данных
  76. except:
  77. print("Error")
  78.  
  79.  
  80. time.sleep(1) # задержка после запроса в секундах
  81. # break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement