В данной статье показан пример генерации файла дампа SQL, готового для импорта в базу данных. Для экранирования символов используется JS. Скрипт уже включен в пресет, поэтому нужна версия А-Парсера не ниже 1.1.457.
Пример результата:
Код:
eyJwcmVzZXQiOiJTUUwgcmVzdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiU1FMIHJl
c3VsdCIsInBhcnNlcnMiOltbIlNFOjpHb29nbGUiLCJUT1AgMTAgKyBBRyJdXSwi
cmVzdWx0c0Zvcm1hdCI6IlslIEZPUkVBQ0ggcDEuc2VycDtcblx0XCJJTlNFUlQg
SU5UTyBzZXJwIFZBTFVFUygnXCIgXyB0b29scy5qcy5TUUxfZXNjYXBlKHF1ZXJ5
KSBfIFwiJywgJ1wiO1xuXHR0b29scy5qcy5TUUxfZXNjYXBlKGxpbmspIF8gXCIn
LCAnXCI7XG5cdHRvb2xzLmpzLlNRTF9lc2NhcGUoYW5jaG9yKSBfIFwiJylcXG5c
IjtcbkVORCAlXSIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVO
YW1lIjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRz
IjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5
Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFs
c2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5
QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlCdWlsZGVyc09uQWxs
TGV2ZWxzIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFs
c2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMi
OnRydWUsInJlc3VsdHNQcmVwZW5kIjoiIiwicmVzdWx0c0FwcGVuZCI6IiIsInF1
ZXJ5QnVpbGRlcnMiOltdLCJyZXN1bHRzQnVpbGRlcnMiOlt7InNvdXJjZSI6WzAs
WyJzZXJwIiwiYW5jaG9yIl1dLCJ0eXBlIjoiZGVjb2RlSHRtbCIsImFycmF5Ijoi
c2VycCIsInRvIjoiYW5jaG9yIn0seyJzb3VyY2UiOlswLFsic2VycCIsImFuY2hv
ciJdXSwidHlwZSI6InJlbW92ZUh0bWwiLCJhcnJheSI6InNlcnAiLCJ0byI6ImFu
Y2hvciJ9XSwiY29uZmlnT3ZlcnJpZGVzIjpbXSwicnVuVGFza09uQ29tcGxldGUi
OiIiLCJ1c2VSZXN1bHRzRmlsZUFzUXVlcmllc0ZpbGUiOmZhbHNlLCJ0b29sc0pT
IjoiVG9vbHMucHJvdG90eXBlLlNRTF9lc2NhcGUgPSBmdW5jdGlvbihzdHIpIHtc
biAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1tcXDBcXHgwOFxceDA5XFx4MWFcXG5c
XHJcIidcXFxcXFwlXS9nLCBmdW5jdGlvbiAoY2hhcikge1xuICAgICAgICBzd2l0
Y2ggKGNoYXIpIHtcbiAgICAgICAgICAgIGNhc2UgXCJcXDBcIjpcbiAgICAgICAg
ICAgICAgICByZXR1cm4gXCJcXFxcMFwiO1xuICAgICAgICAgICAgY2FzZSBcIlxc
eDA4XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXFxcXGJcIjtcbiAgICAg
ICAgICAgIGNhc2UgXCJcXHgwOVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBc
IlxcXFx0XCI7XG4gICAgICAgICAgICBjYXNlIFwiXFx4MWFcIjpcbiAgICAgICAg
ICAgICAgICByZXR1cm4gXCJcXFxcelwiO1xuICAgICAgICAgICAgY2FzZSBcIlxc
blwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlxcXFxuXCI7XG4gICAgICAg
ICAgICBjYXNlIFwiXFxyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXFxc
XHJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJcXFwiXCI6XG4gICAgICAgICAgICBj
YXNlIFwiJ1wiOlxuICAgICAgICAgICAgY2FzZSBcIlxcXFxcIjpcbiAgICAgICAg
ICAgIGNhc2UgXCIlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXFxcXFwi
K2NoYXI7XG4gICAgICAgIH1cbiAgICB9KTtcbn0ifSwicGFyc2Vyc0NvbmZQcmVz
ZXRzIjp7IlNFOjpHb29nbGUiOnsiVE9QIDEwICsgQUciOnsicXVlcnlmb3JtYXQi
OiIkcXVlcnkiLCJwYXJzZW5vdGZvdW5kIjp0cnVlLCJnbCI6IiIsInBhZ2Vjb3Vu
dCI6MSwiZG9fZ3ppcCI6dHJ1ZSwiZG9tYWluIjoid3d3Lmdvb2dsZS5jb20iLCJ0
aW1lb3V0IjoiNjAiLCJ1c2Vwcm94eSI6dHJ1ZSwiYW50aWdhdGVwcmVzZXQiOiJB
RyIsImV4dHJhcXVlcnkiOiIiLCJ1c2VzZXNzaW9ucyI6dHJ1ZSwibG9jYXRpb24i
OiIiLCJzZXJwdGltZSI6IiIsImxpbmtzcGVycGFnZSI6MTAsImZpbHRlciI6dHJ1
ZSwic2VycCI6IiIsInVzZWFudGlnYXRlIjp0cnVlLCJwcm94eXJldHJpZXMiOiIx
MCIsInJlcXVlc3RkZWxheSI6IjAiLCJwcm94eWJhbm5lZGNsZWFudXAiOiIzMDAi
LCJyYXdkYXRhIjpmYWxzZSwiZm9ybWF0cmVzdWx0IjoiJHNlcnAuZm9ybWF0KCck
bGlua1xcbicpIiwibHIiOiIiLCJtYXhfc2l6ZSI6IjIwNDgwMCJ9fX19
- Для примера использован парсинг Google TOP10.
- За вывод результата в нужном виде отвечает шаблон:
- Скрипт для экранирования символов:
Код:Tools.prototype.SQL_escape = function(str) { return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) { switch (char) { case "\0": return "\\0"; case "\x08": return "\\b"; case "\x09": return "\\t"; case "\x1a": return "\\z"; case "\n": return "\\n"; case "\r": return "\\r"; case "\"": case "'": case "\\": case "%": return "\\"+char; } }); }
Пример результата:
INSERT INTO serp VALUES('тест', 'http://www.psychologies.ru/tests/', 'Психологические тесты. Пройти онлайн бесплатные ...')
INSERT INTO serp VALUES('тест', 'http://tests.kulichki.com/', 'Тесты. Психологические тесты онлайн. Пройдите тесты ...')
INSERT INTO serp VALUES('тест', 'http://www.elle.ru/tests/', 'Тесты онлайн: пройти психологические тесты бесплатно, без ...')
INSERT INTO serp VALUES('тест', 'http://testoteka.ukr.net/', 'Тесты от Тестотеки: психологические, тесты для мужчин и ...')
INSERT INTO serp VALUES('тест', 'http://testoteka.ukr.net/personality/', 'Тест о личности. Пройти тест личности. - Тесты - Ukr.net')
INSERT INTO serp VALUES('тест', 'http://testoteka.ukr.net/alltests/', 'Все тесты. Бесплатное on-line тестирование. - Ukr.net')
INSERT INTO serp VALUES('тест', 'https://www.google.com/search?q=\%D1\%82\%D0\%B5\%D1\%81\%D1\%82&hl=en&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwiX9KeF4djLAhVMvxQKHTI-AaMQsAQIQQ', 'Images for тест')
INSERT INTO serp VALUES('тест', 'https://www.16personalities.com/ru/test-lichnosti', 'Бесплатный тест личности | 16Personalities')
INSERT INTO serp VALUES('тест', 'http://test.tankionline.com/', 'Test Server - Tanki Online')
INSERT INTO serp VALUES('тест', 'http://ru.iq-test.cc/', 'IQ Test - Тест IQ на русском языке')
INSERT INTO serp VALUES('А-Парсер', 'http://a-parser.com/', 'A-Parser - парсер для профессионалов SEO')
INSERT INTO serp VALUES('А-Парсер', 'https://www.youtube.com/watch?v=58RSoNcdjEA', 'Урок 97 - Как парсить данные при помощи A-parser - YouTube')
INSERT INTO serp VALUES('А-Парсер', 'https://rucaptcha.com/software/view/a-parser---parser-dlya-professionalov-seo', 'A-Parser - продвинутый серверный и десктопный парсер для ...')
INSERT INTO serp VALUES('А-Парсер', 'http://zennolab.com/discussion/threads/a-parser-prodvinutyj-parser-poiskovyx-sistem-wordstat-youtube-suggest-pr-etc.8791/', 'A-Parser - продвинутый парсер поисковых систем, WordStat, YouTube ...')
INSERT INTO serp VALUES('А-Парсер', 'http://searchengines.guru/showthread.php?t=720568', 'A-Parser - продвинутый парсер ПС, Google Trust, Suggest, WordStat ...')
INSERT INTO serp VALUES('А-Парсер', 'http://www.topexpert.pro/open-seo-lessons/lesson-97.html', 'Урок 97 - Как парсить данные при помощи A-parser - ТопЭксперт')
INSERT INTO serp VALUES('А-Парсер', 'http://www.maultalk.com/topic141943.html?view=getlastpost', 'A-Parser - продвинутый парсер поисковых систем, WordStat ...')
INSERT INTO serp VALUES('\\o\'key\\', 'https://app.it.okstate.edu/okey/', 'OKey Account Services')
INSERT INTO serp VALUES('\\o\'key\\', 'https://app.it.okstate.edu/okey/index.php/module/Forgot/action/Index', 'Forgot your password? - OKey Account Services')
INSERT INTO serp VALUES('\\o\'key\\', 'https://app.it.okstate.edu/okey/index.php/module/Activate/action/Index', 'Activate your O-Key! - OKey Account Services')
INSERT INTO serp VALUES('\\o\'key\\', 'https://go.osuit.edu/computer_information_services/okey', 'Orange Key Account Services - OSU Institute of Technology')
INSERT INTO serp VALUES('\\o\'key\\', 'http://okeyinvestors.ru/', 'O\'KEY Investors | Investors (Main)')
INSERT INTO serp VALUES('\\o\'key\\', 'https://www.google.com/search?q=\%5Co\'key\%5C&hl=en&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwi1o7SL4djLAhVFAxoKHRkEDS8QsAQIMQ', 'Images for \\o\'key\\')
INSERT INTO serp VALUES('\\o\'key\\', 'http://www.osuokc.edu/onlineclass/pdf/okey_sis_flier.pdf', 'Activating Your O-Key Account If you cannot get into O-Key, SIS or ...')
INSERT INTO serp VALUES('\\o\'key\\', 'http://www.osuokc.edu/ecampus/pdf/Okey\%20Account\%20Services.pdf', '• Activating Your O-Key Account • Forgot Your Password? • Need to ...')
INSERT INTO serp VALUES('\\o\'key\\', 'http://www.okmarket.ru/', 'О\'КЕЙ')
INSERT INTO serp VALUES('\\o\'key\\', 'http://www.intesasanpaolo.com/servizi-multicanale/sicurezza.jsp', 'O-key di Intesa Sanpaolo: lo strumento di One Time Password ...')