Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1.  
  2. import datetime as dt
  3. import json
  4. import requests
  5. import time
  6.  
  7. from selenium import webdriver
  8. from selenium.webdriver.common.keys import Keys
  9. from pyvirtualdisplay import Display
  10.  
  11. def update_permit_location(api_number):
  12. try:
  13. rest_url = "http://wwwgisp.rrc.state.tx.us/arcgis/rest/services/rrc_public/RRC_GIS_Viewer/MapServer/1/query?f=json&where=API = '{}' &returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=*&outSR=102100".format(api_number)
  14. response = requests.get(rest_url)
  15. data = json.loads(response.text)
  16. lat = data['features'][0]['attributes']['GIS_LAT83']
  17. lon = data['features'][0]['attributes']['GIS_LONG83']
  18. print ("lat lon ", lat, lon)
  19. #Permit.objects.filter(permit_number=permit_number).update(bottom_latitude=lat, bottom_longitude=lon)
  20. except Exception as e:
  21. print("error in update", e)
  22. #logger.exception('Error occurred during fetching lat long for permit: %s and api: %s' % (permit_number, api_number))
  23.  
  24.  
  25.  
  26. def sync_permit_location():
  27. display = Display(visible=0, size=(800, 600))
  28. display.start()
  29. driver = webdriver.Chrome()
  30.  
  31. # permit_numbers = Permit.objects.filter(
  32. # bottom_latitude__isnull=True,
  33. # bottom_longitude__isnull=True,
  34. # drill_type='H'
  35. # ).values_list('permit_number', flat=True).distinct()
  36. permit_numbers = [823480]
  37.  
  38. for permit in permit_numbers:
  39. time.sleep(4)
  40. try:
  41. driver.get("http://webapps2.rrc.state.tx.us/EWA/drillingPermitsQueryAction.do")
  42. permit_input = driver.find_element_by_name('searchArgs.permitStatusNoHndlr.inputValue')
  43. permit_input.send_keys(permit)
  44. permit_input.send_keys(Keys.RETURN)
  45. api_elm = driver.find_element_by_xpath("//*[contains(@title, 'Lease detail for API')]")
  46. api_number = api_elm.text
  47. print('api number ', api_number)
  48. update_permit_location(api_number)
  49. except Exception as e:
  50. print("error in main block", e)
  51. #logger.exception('Error occurred during fetching API number for permit: %s.' % permit)
  52. pass
  53. driver.quit()
  54. display.stop()
  55.  
  56. sync_permit_location()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement