forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Скрипт для выдирания атомных линий (http://forum.boolean.name/showthread.php?t=20448)

mr.DIMAS 20.10.2016 21:13

Скрипт для выдирания атомных линий
 
Привет булка! Мне тут понадобилось заиметь базу атомных линий для некоторого набора элементов - http://physics.nist.gov/PhysRefData/ASD/lines_form.html - скачать базу не дают, но дают брать с сайта данные. И тут я подумал - можно ли написать скрипт для выдирания атомных линий для определенного элемента в определенном спектральном диапазоне (например Mg в [336 нм; 886 нм]), но с вебчиком я вообще не в ладах и прошу помощи. В идеале нужен скрипт который будет складывать в файл построчно три первых столбца: как тут например.

Для чего это нужно? Я пишу программу для магистерской диссертации по лазерно-искровой спектроскопии и мне необходимо в рантайме различать линии спектра - какая линия какому элементу соответствует.

RegIon 20.10.2016 22:33

Ответ: Скрипт для выдирания атомных линий
 
Ну просто можно же формировать запрос и получать html в программе, где ее парсить уже.
Причем там есть текстовый формат, нужно просто тег <pre> найти и все.
Что-то мешает?
На чем пишешь-то ?

ABTOMAT 20.10.2016 23:02

Ответ: Скрипт для выдирания атомных линий
 
Можно инструкцию, что куда вводить, чтобы увидеть нужные данные в томи виде в каком их выдирать?

mr.DIMAS 20.10.2016 23:04

Ответ: Скрипт для выдирания атомных линий
 
Тут http://physics.nist.gov/PhysRefData/ASD/lines_form.html вписываешь в Spectrum символы химического элемента например магний: Mg. Далее выбираешь диапазон Lower wavelenght 336, Upper wavelenght: 886 и тыркаешь Retrieve data

Цитата:

На чем пишешь-то ?
C#

Цитата:

Ну просто можно же формировать запрос и получать html в программе, где ее парсить уже.
Причем там есть текстовый формат, нужно просто тег <pre> найти и все.
Что-то мешает?
Как я уже сказал - я в этом деле нуб

upd. и да, мне нужна оффлайн база - так что парсинг внутри проги отпадает

mr.DIMAS 20.10.2016 23:24

Ответ: Скрипт для выдирания атомных линий
 
Блин, оказывается надо было загуглить "Table to CSV"
http://www.convertcsv.com/html-table-to-csv.htm

Дальше проеду String.Split по ней и выдерну нужные данные

mr.DIMAS 22.10.2016 22:32

Ответ: Скрипт для выдирания атомных линий
 
Вложений: 1
В общем вытянул линии для 20 элементов и запилил распознавание. Само собой результат распознавания не 100% точный, но для быстрого определения линий по известному составу подходит. Например это спектр форстерита Mg2SiO4:Cr,Li и в нем не может быть европия и эрбия - но прога их определяет - то есть прога требует осознанных действий при распознавании.


RegIon 23.10.2016 08:29

Ответ: Скрипт для выдирания атомных линий
 
А нафиг они вообще нужны, отфильтровать может их?
Это как мы в He-Ar-Xe лазере нашли телуровую линию генерации, ибо просто такой линии в спектрах He, Xe, Ar не был описано.

mr.DIMAS 23.10.2016 12:18

Ответ: Скрипт для выдирания атомных линий
 
Ну да, надо отфильтровать. Сделаю выбор элементов, для поиска. Кстати у тебя в универе нет ли случайно лицензионной проги PLASUS SpecLine? Мне интересно сравнить результаты - косячит ли она так же как моя прога? Просто в демоверсии неполная база элементов.

RegIon 23.10.2016 14:59

Ответ: Скрипт для выдирания атомных линий
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 309442)
Ну да, надо отфильтровать. Сделаю выбор элементов, для поиска. Кстати у тебя в универе нет ли случайно лицензионной проги PLASUS SpecLine? Мне интересно сравнить результаты - косячит ли она так же как моя прога? Просто в демоверсии неполная база элементов.

Неа, даже не слышал о такой.

mr.DIMAS 23.10.2016 16:32

Ответ: Скрипт для выдирания атомных линий
 
Ну эта прога для спектроскопистов в основном.


Часовой пояс GMT +4, время: 09:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot