From c6e16ba8fa533809879aed0e843d34fce0b040f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= <50486086+DarkCat09@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:37:45 +0400 Subject: [PATCH] RP5id_parser regexp bugfix, more countries --- rp5id_parser/belarus.csv | 7 ++++ rp5id_parser/main.py | 4 +- rp5id_parser/russia.csv | 83 ++++++++++++++++++++++++++++++++++++++++ rp5id_parser/uk.csv | 8 ++++ rp5id_parser/ukraine.csv | 25 ++++++++++++ rp5id_parser/usa.csv | 57 +++++++++++++++++++++++++++ 6 files changed, 182 insertions(+), 2 deletions(-) create mode 100644 rp5id_parser/belarus.csv create mode 100644 rp5id_parser/russia.csv create mode 100644 rp5id_parser/uk.csv create mode 100644 rp5id_parser/ukraine.csv create mode 100644 rp5id_parser/usa.csv diff --git a/rp5id_parser/belarus.csv b/rp5id_parser/belarus.csv new file mode 100644 index 0000000..b3f7b95 --- /dev/null +++ b/rp5id_parser/belarus.csv @@ -0,0 +1,7 @@ +ID,City +5,Погода_в_Бресте +31,Погода_в_Витебске,_Беларусь +63,Погода_в_Гомеле,_Гомельская_область +84,Погода_в_Гродно +55,Погода_в_Минске,_Беларусь +141,Погода_в_Могилеве,_Беларусь diff --git a/rp5id_parser/main.py b/rp5id_parser/main.py index 342138d..57a726c 100644 --- a/rp5id_parser/main.py +++ b/rp5id_parser/main.py @@ -11,11 +11,11 @@ russian_cities_tree = html.fromstring(russian_cities_page.content) columns = russian_cities_tree.xpath('//div[@class="countryMap"]//div[@class="countryMap-cell"]') # File -cities_file = open('cities.csv', 'wt') +cities_file = open('russia.csv', 'wt') cities_file.write('ID,City\n') # Write all identifiers and cities -city_link_regex = re.compile(r'^https*://rp5.ru/(РџРѕРіРѕРґР°_РІ[Рђ-РЇР°-СЏ\w.,\-()]+)') +city_link_regex = re.compile(r'^https*://rp5.ru/(РџРѕРіРѕРґР°_[Рђ-РЇР°-СЏ\w.,\-()]+)') added_ids = [] for col in columns: ids = col.xpath('.//span[@class="Ajax-PointID"]//@id') diff --git a/rp5id_parser/russia.csv b/rp5id_parser/russia.csv new file mode 100644 index 0000000..8efd7b5 --- /dev/null +++ b/rp5id_parser/russia.csv @@ -0,0 +1,83 @@ +ID,City +5095,Погода_в_Майкопе +1360,Погода_в_Барнауле,_Алтайский_край +1599,Погода_в_Благовещенске,_Амурская_область +1174,Погода_в_Архангельске,_Архангельская_область +1200,Погода_в_Астрахани,_Астраханская_область +8667,Погода_в_Уфе +1435,Погода_в_Белгороде,_Белгородская_область +1859,Погода_в_Брянске,_Брянская_область +8440,Погода_в_Улан-Удэ +2278,Погода_во_Владимире,_Владимирская_область +2315,Погода_в_Волгограде +2327,Погода_в_Вологде +2374,Погода_в_Воронеже,_Воронежская_область +5260,Погода_в_Махачкале +1577,Погода_в_Биробиджане +9066,Погода_в_Чите,_Забайкальский_край +3416,Погода_в_Иваново,_Ивановский_район +13507,Погода_в_Магасе +152525,Погода_в_Иркутске +5633,Погода_в_Нальчике_(аэропорт) +3688,Погода_в_Калининграде +9323,Погода_в_Элисте +3708,Погода_в_Калуге,_Калужская_область +6608,Погода_в_Петропавловске-Камчатском +8990,Погода_в_Черкесске +6601,Погода_в_Петрозаводске +4013,Погода_в_Кирове,_Кировская_область +7925,Погода_в_Сыктывкаре +4326,Погода_в_Костроме,_Костромская_область +4429,Погода_в_Краснодаре,_Краснодарский_край +4475,Погода_в_Красноярске,_Красноярский_край +174,Погода_в_Симферополе +3932,Погода_в_Кемерове +4711,Погода_в_Кургане,_Курганская_область +4731,Погода_в_Курске,_Курская_область +7285,Погода_в_Санкт-Петербурге +4931,Погода_в_Липецке +5081,Погода_в_Магадане +3609,Погода_в_Йошкар-Оле +7300,Погода_в_Саранске,_Мордовия +5483,Погода_в_Москве_(ВДНХ) +5538,Погода_в_Мурманске +5797,Погода_в_Нижнем_Новгороде +5917,Погода_в_Великом_Новгороде +6036,Погода_в_Новосибирске +6290,Погода_в_Омске +6318,Погода_в_Орле,_Орловская_область +6320,Погода_в_Оренбурге +6501,Погода_в_Пензе,_Пензенская_область +6560,Погода_в_Перми +2275,Погода_во_Владивостоке +6935,Погода_в_Пскове +2622,Погода_в_Горно-Алтайске +9421,Погода_в_Якутске +7147,Погода_в_Ростове-на-Дону +7217,Погода_в_Рязани,_Рязанская_область +7259,Погода_в_Самаре,_Самарская_область +7303,Погода_в_Саратове +9362,Погода_в_Южно-Сахалинске +3034,Погода_в_Екатеринбурге +234,Погода_в_Севастополе,_Севастополь +2277,Погода_во_Владикавказе +7561,Погода_в_Смоленске +7719,Погода_в_Ставрополе +8012,Погода_в_Тамбове +3646,Погода_в_Казани,_Татарстан +8077,Погода_в_Твери +8218,Погода_в_Томске +8306,Погода_в_Туле,_Тульская_область +4769,Погода_в_Кызыле,_Россия +8374,Погода_в_Тюмени,_Тюменская_область +3451,Погода_в_Ижевске +8452,Погода_в_Ульяновске +8722,Погода_в_Хабаровске +858,Погода_в_Абакане +8753,Погода_в_Ханты-Мансийске +8955,Погода_в_Челябинске +2713,Погода_в_Грозном,_Чечня +8935,Погода_в_Чебоксарах,_Чувашия +1057,Погода_в_Анадыре +7249,Погода_в_Салехарде +9462,Погода_в_Ярославле,_Ярославская_область diff --git a/rp5id_parser/uk.csv b/rp5id_parser/uk.csv new file mode 100644 index 0000000..4223368 --- /dev/null +++ b/rp5id_parser/uk.csv @@ -0,0 +1,8 @@ +ID,City +3478,Погода_в_Лондоне,_Великобритания +11264,Погода_на_о._Гоф,_Великобритания +152614,Погода_в_Сент-Питер-Порту +152616,Погода_в_Дугласе,_Великобритания +152615,Погода_в_Белфасте,_Великобритания +3428,Погода_в_Кардиффе +2950,Погода_в_Эдинбурге_(аэропорт) diff --git a/rp5id_parser/ukraine.csv b/rp5id_parser/ukraine.csv new file mode 100644 index 0000000..9f8581c --- /dev/null +++ b/rp5id_parser/ukraine.csv @@ -0,0 +1,25 @@ +ID,City +187,Погода_в_Виннице +224,Погода_в_Луцке +247,Погода_в_Днепре_(Днепропетровске) +298,Погода_в_Донецке,_Украина +342,Погода_в_Житомире +373,Погода_в_Ужгороде +383,Погода_в_Запорожье,_Запорожье +414,Погода_в_Ивано-Франковске +509938,Погода_в_Киеве,_Украина +471,Погода_в_Кропивницком_(Кировограде) +520,Погода_в_Луганске,_Украина +557,Погода_во_Львове,_Львовская_область +585,Погода_в_Николаеве,_Николаевская_область +614,Погода_в_Одессе,_Украина +644,Погода_в_Полтаве,_Полтавская_область +665,Погода_в_Ровно,_Украина +687,Погода_в_Сумах,_Украина +712,Погода_в_Тернополе +741,Погода_в_Харькове +764,Погода_в_Херсоне +787,Погода_в_Хмельницком,_Хмельницкая_область +811,Погода_в_Черкассах,_Украина +838,Погода_в_Чернигове +512984,Погода_в_Черновцах diff --git a/rp5id_parser/usa.csv b/rp5id_parser/usa.csv new file mode 100644 index 0000000..56c4b55 --- /dev/null +++ b/rp5id_parser/usa.csv @@ -0,0 +1,57 @@ +ID,City +259014,Погода_в_Бойсе +256341,Погода_в_Де-Мойне +259364,Погода_в_Монтгомери_(авиабаза) +259388,Погода_в_Джуно,_Соединенные_Штаты_Америки +259321,Погода_в_Паго-Паго,_Соединенные_Штаты_Америки +259322,Погода_в_Фениксе_(аэропорт) +259244,Погода_в_Литл_Рок +256853,Погода_в_Шайенне_(аэропорт) +256949,Погода_в_Олимпии +256768,Погода_в_Монтпилиере +256795,Погода_в_Ричмонде,_Виргиния +257066,Погода_в_Шарлотта-Амалии,_США +256921,Погода_в_Мэдисоне,_Висконсин +258983,Погода_в_Гонолулу +259141,Погода_в_Довере,_Делавэр +256266,Погода_в_Атланте,_Джорджия +256811,Погода_в_Чарльстоне,_Западная_Виргиния +258862,Погода_в_Спрингфилде,_Иллинойс +256322,Погода_в_Индианаполисе +256217,Погода_в_Сакраменто +258559,Погода_в_Топике_(аэропорт) +258542,Погода_в_Франкфорте_(аэропорт) +259183,Погода_в_Денвере +259171,Погода_в_Хартфорде_(аэропорт) +258483,Погода_в_Батон-Руже +258400,Погода_в_Бостоне,_Массачусетс +256449,Погода_в_Сент-Поле,_Миннесота +258170,Погода_в_Джексоне,_Миссисипи +258233,Погода_в_Джефферсон-Сити_(аэропорт) +268292,Погода_в_Лэнсинге +258014,Погода_в_Хелене +258463,Погода_в_Огасте_(аэропорт),_Мэн +258428,Погода_в_Аннаполисе_(AWS) +256509,Погода_в_Линкольне,_Небраска +257984,Погода_в_Карсон-Сити +258065,Погода_в_Конкорде_(аэропорт),_Нью-Гэмпшир +257968,Погода_в_Трентоне,_Нью-Джерси +257922,Погода_в_Олбани,_Нью-Йорк +257925,Погода_в_Санта-Фе,_США +257724,Погода_в_Колумбусе,_Огайо +256613,Погода_в_Оклахома-Сити +256240,Погода_в_Вашингтоне,_Округ_Колумбия +257590,Погода_в_Сейлеме,_Орегон +259007,Погода_в_Хагатне,_США +257580,Погода_в_Гаррисберге,_Пенсильвания +256639,Погода_в_Сан-Хуане,_США +257542,Погода_в_Провиденсе +257880,Погода_в_Бисмарке_(аэропорт) +257825,Погода_в_Роли,_Северная_Каролина +257784,Погода_в_Сайпане +257387,Погода_в_Нэшвилле,_Теннесси +257114,Погода_в_Остине_(AWS) +259107,Погода_в_Таллахасси +257364,Погода_в_Пьере +257449,Погода_в_Колумбии,_Овенс-Филде_(аэропорт) +257093,Погода_в_Солт-Лейк-Сити