Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: cp1251
- # Скрипт для получения списка кодов IATA
- import requests
- from lxml import html
- result = []
- for x in xrange(97, 123): # Обход всех символов a-z
- respond = requests.get('http://aeroportix.ru/kod-iata/' + chr(x)) # По каждому совершается запрос
- parsed = html.fromstring(respond.text)
- result += parsed.xpath(".//*[@id='block-system-main']/div/div/table/tbody/tr/td/div/span/a/text()")
- document = open('Codes.txt', 'w') # Извлекаются коды существующих аэропортов и записываются в файл
- for a in result:
- document.write(a.lower() + '\n')
- document.close()
- # Скрипт для формирования библиотеки соответствия кодов IATA аэропортов (города, страны включены в информацию)
- import requests
- from lxml import html
- i = 0 # Переменная для отображения работы скрипта
- libdoc = open('Library.txt', 'w') # Открываются файлы для чтения и записи
- coding = 'utf-8' # Кодировка для вывода
- with open('Codes.txt', 'r') as coddoc:
- for line in coddoc.readlines(): # Обходятся строки файла кодов
- respond = requests.get('http://aeroportix.ru/aeroport/' + line.rstrip()) # Формируется запрос к сайту
- parsed = html.fromstring(respond.text) # Преобразование ответа в DOM дерево
- rescountry = parsed.xpath(".//*[@id='block-system-main']/div/div[1]/div/div[2]/div/p/text()")
- rescity = parsed.xpath(".//*[@id='block-system-main']/div/div[1]/div/div[4]/div/p/text()")
- resname = parsed.xpath(".//*[@id='block-system-main']/div/div[1]/div/div[5]/div/p/text()")
- rescode = line.upper().rstrip() # Извлекается информация по дереву и записывается в файл
- libdoc.write('%-3s\t%-50s\t%-25s\t%-s\t\n' % (rescode, rescountry[0][2:].encode(coding), rescity[0][2:].encode(coding), resname[0] [2:].encode(coding)))
- i += 1
- print i # Каждый шаг выводится переменная для отслеживания работы скрипта
- libdoc.close()
- codedoc.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement