Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Вопрос. Как в полученной стр найти 1 строку href='vote.php?id=0&acid=тут циферки Как методом парсинга получить те циферки, их может быть от 6-7 до 3(думаю не важно) Подскажите пожалуйста,и если можно на конкретном примере, а то на словах не оч шарю
Добавлено (07 Март 2011, 00:31) ---------------------------------------------
Quote (max-farvater)
И еще, а что если в acid= не 6 символов ? как быть тогда?
без разницы, ну можете и проверить вручную, подсуньте нужный текст из файла. смотрите еще раз, зачем мы тогда рассчитываем стартовые и конечные границы, и берем число символов исходя из их разницы? вы код понимаете, о чем он говорит? я лишь демонстрирую принципы, а не кладу в рот ответ... Как задавать вопросы
то что там прибавлено +5 и отнято -5 это из-за лишних символов в строке acid=, чтобы взять номер нужно сдвинуть "стартовую позицию" функции SubStr на 5 символов вперед и соотв-но на столько же уменьшить число вырезаемых символов. Если бы была строка aaacid=, вот это была бы проблема, пришлось бы сдвигать на +7/-7. Или начало концевой строки не совпадало с концом искомой. Вот все строки относительно которых идет расчет, должны быть постоянными (нужно грамотно их подобрать, чтобы меньше зависеть от изменений исходного кода сайта), а то что между ними нужно вырезать - рассчитывается относительно постоянных строк.
Добавлено (07 Март 2011, 00:57) ---------------------------------------------
Quote (max-farvater)
если есть такая возможность удалите либо тему или сообщения несущие информацию,спасибо!
тема пусть останется, видимо все таки назрела необходимость разбора материала по принципам парсинга html. Сообщения я исправил, но в дальнейшем используйте тестовые аккаунты, чтобы не возникало необоснованных претензий, и не морочить голову модератора и других участников попусту ). Как задавать вопросы
Я, конечно, дико извиняюсь, но интересно - а кто такой этот "ТС"? Надо так понимать, что указание удалить поступило "сверху"?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
И - все "под нож"! Без этой функции топик по-просту теряеят всякий смысл, к тому же, это была функция Алиена, а не "топик-стартера". Тут надо вообще все удалять, а оставить только первые два поста. А ещё лучше - выложить функцию Алиена отдельно (если он согласится), и все вопросы по парсингу - туда! Вопрос-то элементарный, и каждый раз тему создавать? Потом - удалять...
Если Алиен функцию ещё раз не запостит, то тему вообще удалю.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
зачем все удалять, нужно оставить вопрос, перепостить парсер и мой пост 4 с примером кода. Вопросы по этой теме у многих возникают, нужно ее немного раскрыть.
У меня есть подобный вопрос про парсинг, но не в хтмл. Бился долго, но решения так и не нашел. Было даже желаие к Петру обратится что б в плагине сделал. Но в итоге пошел совсем другим путем. Суть вот в чем. Не смог сделать так, что б искало именно то что нужно. Тоесть полное соответствие искомому, точное совпадание.. И это нужно было найти в файле. К примеру в файле было порядка 3000 строк с названиями населенных пунктов. Допустим надо найти Михайловка. Не старая Михайловка, ни Новая Михайловка, а именно Михайловка. Но при попытке поиска выдает содержимое по порядку. Так как не известно когда нужно остановится, поиск становится не актуальным. И средствами НБ пробовал, и плагином, увы без результатно. С таким поиском в принципе первый раз столкнулся, но думаю что кто то еще не раз наткнется на эти "грабли". Или мож я чего не учел? Не хочешь читать хелп?
К примеру в файле было порядка 3000 строк с названиями населенных пунктов. Допустим надо найти Михайловка. Не старая Михайловка, ни Новая Михайловка, а именно Михайловка. Но при попытке поиска выдает содержимое по порядку. Так как не известно когда нужно остановится,
Я не очень пока понял задачу, но исходя из описанного (требуется ТОЛЬКО Михайловка), можно заключить, что в строке и будет только одно слово (название) - Михайловка. Тогда в чем проблема, не пойму? Ищем строку, в которой будет только Михайловка, т.е. совпадение с учетом "первого символа" (как первого вхождения), плюс - длина строки (слова).
Добавлено (07 Март 2011, 18:39) ---------------------------------------------
Quote (Peter)
плюс - длина строки
В принципе, если в строке только именно "Михайловка", то достаточно будет и такого: If "[Result]" "=" "Михайловка" - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
что в строке и будет только одно слово (название) - Михайловка.
Нет, не совсем. Извиняюсь упустил момент. В строке еще идет код города. (к примеру) Михайловка=4567 Новая Михайловка=345 Михайловка(а/п)=456 Тоесть точное кол-во знаков тоже не известно. И еще, при запросе Михайловка(а/п), так же сначало выдает Михайловка, а после уже Михайловка(а/п). Такой вариант был бы не страшен, так как знаешь что если (а/п) присутствует, то просто переходишь на следующую строку. И хорошо что на этом не остановился. Так как был город Анаппа, то в других словосочетаниях он не попадался. А такие как Михайловка, Александровка, Старая, новая.... Встречаются очень часто и разбросаны по всему списку. Не хочешь читать хелп?
Михайловка=4567 Новая Михайловка=345 Михайловка(а/п)=456
Так в чем дело опять? В любом случае нужная Михайловка всегда должна находиться как "первое вхождение", далее, если так, то парсим строку на "=", т.е. находиим позицию "=", если она равна "длина Михайловка" +1, то это и есть нужная нам Михайловка. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В любом случае нужная Михайловка всегда должна находиться как "первое вхождение"
Первое вхождение ты имеешь ввиду первая найденная? Немного не понял но ладно. Находится первая по алфавиту. Если к примеру будет Лесная Михайловка, то она найдется до нужной Михайловки.
Quote (Peter)
то парсим строку на "="
Все бы хорошо, но есть такие моменты где словосочетания будут одинаковой длины, могут быть 2,3,5,10 одинаковых названий. Короче говорю же, одно решение находил, появлялась другая проблема, ее решаю, вылазиет следующая. И такое впечатление что до бесконечности. Думал проиндексировать строки и после сравнивать, тоже на что то наткнулся. Бросил, и решил с айта загружать. Но иногда так долго грузится. Видать там проверка какая то стоит на сайте. Не хочешь читать хелп?
Не понимаю... Михайловка, она и в Африке - Михайловка!
Вот, примерно такая "схема":
Code
StrLen "Михайловка" "[Len]" Math "[Len]+1" "0" "[Len]" SearchStr "Михайловка" "[Stroka]" "[n]" "" If "[n]" "=" "1" SearchStr "=" "[Stroka]" "[n]" "" If "[n]" "=" "[Len]" .Наша Михайловка, УРА! Else .Ищем дальше EndIf else .Ищем дальше EndIf
должна работать....
К тому же, искать можно с учетом регистра.
В любом случае, алгоритм формируется исходя из поставленной задачи.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Не понимаю... Михайловка, она и в Африке - Милайловка!
Это как пример. Я ж написал выше, что порядка 3000 строк, и это не предел. В разных областях есть населенные пункты с одинаковыми названиями. Можно было раскидать несколько файлов по разным папкам с названиями областей, но я не стал с этим заморачиваться. Ладно, оставим этот вопрос. Я уже половина не помню что не давало найти то что нужно.
Quote (Peter)
К тому же, искать можно с учетом регистра.
Пробовал. Пробовал цифры впереди без пробела подставлять, пробовал слова соединятьчерез _, что только не пробовал.
Quote (Peter)
В любом случае, алгоритм формируется исходя из поставленной задачи.
В том то и дело, а задача усложнялась с каждым следующим решением. Не хочешь читать хелп?
Можно было раскидать несколько файлов по разным папкам с названиями областей,
Ну, примерно так и нужно было сделать. Но, вместо этого:
Quote (mishem)
но я не стал с этим заморачиваться
И сам же себе и создал трудности!
Quote (mishem)
а задача усложнялась с каждым следующим решением
Само-собой, если "начало" было неправильное. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ты представляешь сколько это папок? Короче я все с информером остановится не могу. В принципе нахрен ни кому не нужен, а я чет им загорелся. Решил в него прогноз погоды воткнуть. Информер, так пусть хоть о погоде еще информирует. Взял только Россию, но есть же еще ближнее зарубежье. И там все по областям, и там не одна тысяча городов..... Вот и решил что все же лучше непосредственно с сайта загружать код города. Не хочешь читать хелп?
Нет, не представляю! Т.к. не знаю ЧТО и ГДЕ ты ищешь! Сам же, вроде бы, любишь говорить типа "экстрасенсы (экстра-сексы) в отпуске!"
Quote (Peter)
В любом случае, алгоритм формируется исходя из поставленной задачи.
Quote (mishem)
И там все по областям, и там не одна тысяча городов.....
Я бы один раз все скачал, затем забил в "базу", и с ней бы работал. Это по-любому намного быстрее будет, чем искать в текстовых файлах! Плагин-то по базам для чего сделан? И бесплатный, между прочим.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я бы один раз все скачал, затем забил в "базу", и с ней бы работал.
Вот за что мне нравится с тобой общаться, на умные мысли наталкиваешь. А ведь когда поиском занимался, подумал, как же хорошо поиск в плагине по базе данных сделан. А ума не хватило его использовать.