Комментарии 32
Мне кажется, что использование CURL смогло бы значительно ускорить работу скрипта.
+1
Во первых, разрешите пожать вам руку, вы — маньяк. ))
«В мире существует 2 667 417 городов и 257 стран», говорит кто-то в интернете. А что такое «4000+ зон»?
www.phpinfo.su/articles/additionally/baza_stran_i_gorodov_mira.html
classifiers.ru/clas/info/1
habrahabr.ru/post/146597/ (там же ссылка на сравнение скорости алгоритмов поиска)
Поползайте по хабру habrahabr.ru/search/?q=geoip
«В мире существует 2 667 417 городов и 257 стран», говорит кто-то в интернете. А что такое «4000+ зон»?
www.phpinfo.su/articles/additionally/baza_stran_i_gorodov_mira.html
classifiers.ru/clas/info/1
habrahabr.ru/post/146597/ (там же ссылка на сравнение скорости алгоритмов поиска)
Поползайте по хабру habrahabr.ru/search/?q=geoip
0
Это все очень здорово, НО! Задача не в том, чтобы добавить на сайт гигасписок, а обработать существующий с минимальными потерями. Не переделывать структуру базы, не создавать новую, а сохранить все, что есть. Например, у опенкарта страны в одном месте, зоны — в другом. У тех и у других есть свои идентификаторы. И те, и другие могут по идентификаторам использоваться различными расширениями. Так вот вышеописанное решение позволяет всю эту хрупкую структуру сохранить.
0
Я ж не спорю. Речь о том, что есть где взять много ± валидных данных кроме вики, или собрать временную таблицу пересекающихся данных и посчитать расходящиеся значения (вам же удобней будет).
Нет, если вы исключительно про парсинг данных с вики рассказывали — не имею возражений, но для решения вашей реальной задачи — можно посмотреть ссылки с уже готовыми словарями ключ→значение.
Нет, если вы исключительно про парсинг данных с вики рассказывали — не имею возражений, но для решения вашей реальной задачи — можно посмотреть ссылки с уже готовыми словарями ключ→значение.
0
Спасибо, как раз пригодилось (перевод на несколько распростарненных языков географических названий, названий футбольных команд и другой информации). Процент переводенных понятий оставляет желать лучшего (около 60%), но намного лучше и быстрее, чем руками ))). Очень вовремя ваш пост…
0
Не знаток php и mysql. Появилось два вопроса.
1) Зачем второй update?
2) Зачем делать инъекцию? Такая склейка строк, как минимум, упадет на каком-нибудь Кот-д’Ивуаре, а как максимум дропнет базу.
1) Зачем второй update?
2) Зачем делать инъекцию? Такая склейка строк, как минимум, упадет на каком-нибудь Кот-д’Ивуаре, а как максимум дропнет базу.
0
1. Мне нужен был. У меня по-разному записываются в базу данные. Если не нужно, то убрать можно, конечно.
2. Ничего не упало ни на одной стране, а со всякими дефисами там было полно у одной только Кореи.
2. Ничего не упало ни на одной стране, а со всякими дефисами там было полно у одной только Кореи.
0
Проблема не в дефисе, а в апострофе. Вроде как строка закроется. В mysql нет параметров?
0
UPDATE zone SET name = '".$row['name']."'где по-другому?
0
А это что?
name = '".$row['name']."::".urldecode(str_replace("_", " ", $matches[1]))."'
0
второй update что делает по-другому? заменяет имя самого на себя? Пишите, что не нашлось ~30%. То есть производительность можно увеличить на 30%. Странный код.
0
Если вы не знаток РНР, то какой смысл спорить и тем более рассуждать о странностях?
В первом случае английское название записывается ВМЕСТЕ с русским через разделитель "::", во втором — БЕЗ. По коду это видно четко.
И причем тут не нашлось 30% и пропорциональное увеличение производительности? Не нашлось, потому что не совпали названия или нет русской страницы. Чтобы это узнать, нужно сделать запрос. Производительность кода — это вообще иное.
В первом случае английское название записывается ВМЕСТЕ с русским через разделитель "::", во втором — БЕЗ. По коду это видно четко.
И причем тут не нашлось 30% и пропорциональное увеличение производительности? Не нашлось, потому что не совпали названия или нет русской страницы. Чтобы это узнать, нужно сделать запрос. Производительность кода — это вообще иное.
0
изначально названия были на английском? в первом случае вы обновляете на английское:: русское, во втором на английское?
0
Именно. Дальше у меня уже парсер стоит, который по разделителю пилит и выводит, как нужно.
0
зачем обновлять английское название на английское название?
0
Возможно пригодится еще www.geonames.org в этой задаче.
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Быстрый перевод больших списков на примере регионов мира