Как сделать парсер на java

Добавил пользователь Skiper
Обновлено: 05.10.2024

Вы можете использовать парсеры HTML, такие как jsoup. Реализовать это очень просто.

Поэтому он в основном используется для синтаксического анализа HTML.

◆ Среди них HTML-код для анализа может быть строкой HTML, URL-адресом или файлом.

org.jsoup.Jsoup преобразует входной HTML-код в объект org.jsoup.nodes.Document, а затем извлекает требуемый элемент из объекта Document.

org.jsoup.nodes.Document наследует org.jsoup.nodes.Element, а Element наследует класс org.jsoup.nodes.Node. Он предоставляет множество методов для получения HTML-элементов.

◇ Получить HTML из URL для синтаксического анализа

Метод Jsoup.connect ("xxx") возвращает объект org.jsoup.Connection.
В объекте Connection мы можем выполнить get или post для выполнения запроса. Но прежде чем выполнить запрос,
Мы можем использовать объект Connection для установки некоторой информации запроса. Например: информация заголовка, cookie, время ожидания запроса, прокси и т. Д. Для имитации поведения браузера.

◆ После получения объекта Document следующим шагом является анализ объекта Document и получение от него нужных нам элементов.

Document предоставляет множество методов для получения указанных элементов.

◇ Используйте DOM, чтобы получить

getElementById (String id): получить по идентификатору
getElementsByTag (String tagName): получить по имени тега
getElementsByClass (String className): получить по имени класса
getElementsByAttribute (строковый ключ): получить по имени атрибута
getElementsByAttributeValue (строковый ключ, строковое значение): получить, указав имя атрибута и значение атрибута
getAllElements (): получить все элементы

◇ Поиск элементов с помощью селекторов, аналогичных css или jQuery

Используется следующий метод класса Element:

public Elements select(String cssQuery)

Найдите указанный элемент, передав строку селектора, аналогичную CSS или jQuery.

Дополнительный синтаксис для селекторов (вы можете увидеть больше синтаксиса для селекторов в org.jsoup.select.Selector):

Селекторы псевдоселекторов
: lt (n): найдите, какое значение одноуровневого индекса элемента (его позиция в дереве DOM относительно его родительского узла) меньше n, например: td: lt (3) Означает менее трех столбцов
: gt (n): найдите, какие элементы имеют одинаковое значение индекса больше n, например: div p: gt (2) указывает, какой div содержит более 2 p элементов.
: eq (n): найдите, какие элементы имеют то же значение индекса, равное n, например: ввод формы: eq (1) означает элемент формы, содержащий тег ввода
: has (seletor): поиск элементов, соответствующих селектору, содержащему элементы, например: div: has (p) указывает, какие блоки div содержат p элементов.
: not (селектор): поиск элементов, не соответствующих селектору, например: div: not (.logo) означает список всех div, которые не содержат элементы
: contains (text): поиск элементов, содержащих заданный текст, поиск не различает верхний и нижний регистр, например: p: contains (jsoup)
: containsOwn (text): найти элементы, непосредственно содержащие данный текст
: соответствует (регулярное выражение): определяет, какие элементы текста соответствуют указанному регулярному выражению, например: div: соответствует ((? i) login)
: matchOwn (regex): поиск элементов, содержащих текст, соответствующий указанному регулярному выражению.
Примечание. Указанный выше индекс псевдоселектора начинается с 0, что означает, что индекс первого элемента равен 0, индекс второго элемента равен 1 и т. д.

◆ С помощью указанного выше селектора мы можем получить объект Elements, который наследует объект ArrayList, и все объекты Element помещаются внутрь.

Следующее, что нам нужно сделать, это извлечь действительно необходимое содержимое из объекта Element.

Обычно существуют следующие методы:

Этот метод используется для получения текста в элементе.

◇ Element.html () или Node.outerHtml ()

Этот метод используется для получения HTML-содержимого элемента.

Получите значение атрибута, например, получите значение href в гиперссылке

Сегодня мы вернемся к Java после серии статей по разработке под Android и поговорим о работе с xml, а именно чтению xml файлов в Java с помощью DOM Parser.

DOM XML Parser является самым легким для понимания, так как загружает содержимое XML-файла в память в виде документа, по которому мы можем легко перемещаться.

DOM Parser отлично подходит для маленьких документов XML, так как он загружает полный XML файл в память. Для больших файлов XML, нужно использовать SAX Parser, о котором мы поговорим в следующих статьях.


concolor


ситуация следующая.
Я пишу парсер некоторого языка (mdl - mathmatics development language) на java, и для этой цели попытался использовать javacc 3.2 - генератор парсеров. Там проблема с токенами возникает - мне нужно выделять некоторые токены по контексту использования:
например первый случай:

- теминальные символы это скобки, запятая, -> и neg. На самом деле допустимы ЛЮБЫЕ последовательности символов, разделённые пробелами и не содержащие ";". Регулярное выражение для таких токенов (в синтаксисе javacc):

Проблема в том, что javacc не умеет распознавать эти случаи, поскольку второй в частности я вляется подслучаем первого, и либо он ВООБЩЕ не выделяется (если это правило идёт после первого), либо независимо от контекста, выражения из первого случая унифиируются со вторым, но не с первым. Фигня короче.

Более того, поскольку в первый случай попадают и всякие разные токены типа скобок, запятых, точек, etc. то они соответствующими токенами выделяются как языковые элементы, но не как символы нужного мне токена SYMB.

Почитал я доки для javacc и вроде как понял, что у них принципиально такая модель парсинга, и из менить её как минимум ОЧЕНЬ СЛОЖНО.
-----------------------------------------------------
Вобщем вопрос такой - кто знает ещё генераторы компиляторов для java (кроме javacc), и кто сталкивался с подобной проблемой ??

P.S. Конечно, всегда можно руками на plain java все сделать, но охота все же частично автоматизиовать работу


Бян



concolor


QUOTE (Бян @ Jan 18 2006, 19:37)
извини, что офтоп. а можешь дать ссылок про генератор парсеров?


D-Light



Tonal


В Flex-е помниться, это решалось либо последовательностью правил - первое наиболее длинное подошедьшее, либо "классами" правил - переключил - и уже другой набор.

Ну и другое соображение - твой язык точно можно выразить через контекстно-свободную грамматику?
Большинство парсеров генерят код именно для контекстно-свободных грамматик.
Судя по тому, что psi может быть, а может не быть ключевым словом - твой язык, или то, как ты его пытаешся его описать не вполне контекстно-свободный.
Стало быть, надо или менять описание, или искать соответствующий генератор.


concolor


QUOTE (D-Light @ Jan 18 2006, 20:36)
TokenManager MiniTutorial читал? Можешь в javacc написать свой контекстно-зависимый парсинг токенов.

читал.
Как решить мою задачу просто - не нашёл.

Вот, кстати, выдержка из TokenManager MiniTutorial :

QUOTE

A token is matched as follows: All regular expressions in the current
lexical state are considered as potential match candidates. The
token manager consumes the maximum number of characters from the input
stream possible that match one of these regular expressions. That is,
the token manager prefers the longest possible match. If there are
multiple longest matches (of the same length), the regular expression
that is matched is the one with the earliest order of occurrence in
the grammar file.

Проблема в том, что токены линейно упорядочены, и простого (ну там несколько ключей и условий перед определением токена поставить) способа контекстно-зависимого выбора (типа опускания строки из этого списка) я не вижу.

Ясен пень, что если перелопатить кучу всего и переписать тоже немалую кучу - можно написать и свой парсер токенов. Только вот зачем ?

Смысл генераторов парсеров в том, чтобы облегчить задачу их написания, а в случае такой переработки - проще самому с нуля написать. Ну или поискать другой генератор парсеров


concolor


QUOTE (Tonal @ Jan 18 2006, 21:23)
В Flex-е помниться, это решалось либо последовательностью правил - первое наиболее длинное подошедьшее, либо "классами" правил - переключил - и уже другой набор.

то, контекстно свободный мой язык или нет - мне, если честно, все равно.
В конце концов могу и руками парсер наисать какой надо

А psi здесь не ключевое слово, это переменная типа wff


D-Light


QUOTE
Проблема в том, что токены линейно упорядочены, и простого (ну там несколько ключей и условий перед определением токена поставить) способа контекстно-зависимого выбора (типа опускания строки из этого списка) я не вижу.

Я пока слабо представляю грамматику MDL, но решал проблему парсинга комментария, в котором, грубо говоря, может быть что угодно, какой угодно длины. Делалось это просто:
1. При попадании на начало комментария контекст переключался с default на заданный мной comment.
2. В контексте comment всасывалось все, что не является концом комментария. Правила контекста default при этом не работали.
3. На символах конца комментария создавался конечный токен и контекст возвращался в default. Теперь уже начинали отдыхать всепожирающие правила контекста comment.

QUOTE
Ясен пень, что если перелопатить кучу всего и переписать тоже немалую кучу - можно написать и свой парсер токенов. Только вот зачем ?


Неправильно меня понял. Я не имел в виду написать парсер с нуля, а советовал обратить внимание на ключевые слова SKIP, MORE и TOKEN. Они позволяют создать более сложные правила выделения токенов.


concolor


QUOTE
Ясен пень, что если перелопатить кучу всего и переписать тоже немалую кучу - можно написать и свой парсер токенов. Только вот зачем ?


concolor


QUOTE (D-Light @ Jan 18 2006, 23:39)
Я пока слабо представляю грамматику MDL.

эээ, дело в том, что этот язык (MDL=mathamatics development language) я как раз сейчас и изобретаю , и в принципе могу менять грамматику как захочу.
Немного раньше я называл это FMCL и хотел писать на С++. Но, волею судеб, сейчас хочу делать это на jave.

К вопросу о синтаксисе mdl - вот тестовый образец кода на этом языке (человек, знакомый с матлогикой сразу поймёт, что тут написано ):

CODE

//
// Formal propositional calculus
//
/////////////////////////////////////////////////////////

theory propositional_logic
/** definition of well-formed formula with implication and negation */
public definition wff
symbol ( ) -> neg;
rule negation(wff phi)
< wff neg phi; >
rule implication(wff phi, wff psi)
< wff (phi ->psi); >
>

/* public definition wff1 extends wff
symbol v;
rule or(wff-in phi, wff-in psi)
< wff-in ( phi v psi ); >
reduction or(wff-in phi, wff-in psi)
< ( neg phi ->psi ) replaces ( phi v psi ); >
> */

symbol |-;
wff phi, psi, chi;

axiom ax-1()
< |- ( phi ->( psi -> phi ) ); >
axiom ax-2()
< |- ( ( phi ->( psi-> chi ) ) -> ( ( phi -> psi ) -> ( phi -> chi ) ) ); >
axiom ax-3(wff A, wff B)
< |- ( ( neg A ->neg B ) -> ( B -> A ) ); >

rule modus-ponens(wff phi, wff psi)
<
hypothesis |- phi;
hypothesis |- phi-> psi;
assertion |- psi;
>

private lemma a1i(wff phi, wff psi)
hyp |- phi;
assertion |- ( psi -> phi );
> proof
< |- ( psi ->phi ); >

private lemma a2i(wff phi, wff psi, wff chi)
hyp |- ( phi -> ( psi -> chi ));
assertion |- (( phi -> psi ) -> (phi -> chi));
> proof
< |- (( phi ->psi ) -> (phi -> chi)); >

Проблемные элементы синтаксиса это строки типа
symbol ( ) -> neg;
и
< |- ( phi ->( psi -> phi ) ); >
- дело в том, что в первой строке - это элементы формул, а в них, как не трудно понять, могут встречаться почти любые символы (единственное, что запрещено - символ ";" - токен конца формулы). Вторая строка - это уже пример самих формул.

Конечно, можно выделять формулы по типу строковых литералов, например кавычками, или как в техе - символами "$". Но при этом текст сильно загромождается, читаемость портится. Поэтому я хочу избежать этого.

P.S. Сходство синтаксиса с С-подобными языками (java) не случаянно - я намеренно хочу создать язык маетматики очень похожий на обычный язык программирования. В частности многие ООП фичи будут использоваться (инкапсуляция, наследование, полиморфизм). о будут и серьёзные отличия - роль типов будут выполнять определения, а роль классов - теории, но это не одно и то же! Методы классов соответствуют утверждениям (аксиомы, правила вывода и теоремы), доказательства - тела методов, различные модификаторы видимости - тоже будут играть свою роль.

Вобщем метафора этого проекта такова:
математика - это программирование


concolor

С библиотекой Jsoup я разобрался, но вот в чем проблема:

Возьмём к примеру заглавную страницу Пикабу. При сохрании в Document попадает только часть ленты. Насколько я понял, когда я руками дохожу до определённой границы, срабатывает скрипт и подгружаются следующие элементы ленты.

Каким образом мне спарсить всю информацию, например, за конкретную дату. Я конечно могу залогиниться и ручками сохранить дохреналион страниц, а потом их обработать, но это не вариант.

F12 > Network - лучший друг любого майнера.
Догружай :)

Иллюстрация к комментарию

смотри скрипт, который подгружает ленту

Пробовали рассмотреть мобильную версию? Обычно в них всё проще.

для такого нужно использовать публичный АПИ, если он конечно имеется у Пикабу (раз есть приложения для мобилок, АПИ должен быть, но на сколько он публичный - это вопрос). кстати, можешь попробовать переключиться в настройках на постраничный вывод - сможешь сформировать урлу на следующую страницу и парсить дальше.

@moderator, это разве форум по программированию?!

Собака и мразота

Собака и мразота Собака, Нападение собак, Преступление, Скриншот, Комментарии на Пикабу, Длиннопост, Негатив, Мат

@SlavaKot, показалось, что плюсец влепить там мало комменту твоему


Игровое

Игровое


Второй участник - Владислав Ковалев из Могилева.

Матерый боец, хотя в жизни довольно миролюбивый человек. Но ровно до тех пор, пока не получит по лицу. А Зелимхан это и отчебучил: недавно у него с Ковалевым возник конфликт, и Юсупов не придумал ничего лучше, чем подойти сбоку и врезать Владу пощечину.

Поначалу Юсупов (он в красном балахоне) еще сопротивлялся: пытался что-то изображать и брать на болевой. Когда понял, что шансов нет, решил выиграть в своем стиле - ухватил соперника ниже пояса. Не помогло) А в конце совсем стух и только принимал звонкие удары по голове.

Дайте два


Ох, как я в налоговой однажды психанул. Уже лет 15 прошло. Жену отфутболили из одного отделения налоговой в другое, она в это другое добралась - говорят у нас нет бланков, ничем помочь не можем, завтра приходите. Стоит жена, носом хлюпает в телефон, удолбалась вся, с работы отпросилась, и с бланком че-то нужно долго делать, а бланка нет. Ладно.

Сорвался с работы, доехал до отделения сам, захожу, прошу бланк дать. В кабинете девчонка молодая в интернете сидит, не глядя на меня говорит - мол нету бланков, давай досвиданья. Я ей говорю, вы у коллег попросите отксерить или напечатайте, не уходить же мне без бланка. Мне его нужно еще заполнить ( я в процесс не вникал), нужен вот, ради него только и пришел специально, дайте пжлст. А у нас, говорит, нету ни у кого. Не у кого ксерить. И в браузер свой смотрит.

Трижды блядская ярость, проблема прямо бумажку распечатать, когда два человека попросили, разозлился я тогда до психа, но говорил очень вежливо и спокойно, аж до сих пор горжуся. Говорю: у каждой проблемы в России есть фамилия, имя и отчество. Подскажите, а кто у вас за эти бланки ответственный? На кого жалобу нужно писать? Кто свою работу плохо выполнил, и я теперь заявление подать не могу? Как фамилия того сотрудника, у которого этих бланков нету?

Тут девчонка соизволила из компьютера вылезти и давай мне выговаривать: я не знаю, я этим вопросом не занимаюсь, че вы вообще пристали, вам все сказано. Я про себя думаю - ничего себе слуга народа, давненько такого барства в голосе не слышал, а тут еще девчонка меня моложе, пэтэушница по возрасту, мне выговаривает. Из принципа этот долбаный бланк получу.

Хорошо, говорю, а представьтесь тогда пожалуйста сами. Ух что у нее на этих словах началось, кричит, а по лицу видно - боится. Тут и начальница подлетела, мол что происходит. Объяснил ей. Она давай вопрос смягчать: мол извините, у нас тут в налоговой ларек есть, там эти бланки за денежку продают (шта?! думаю, как так?! ). Ну вот так принято. А сегодня вот он закрыт, так вот случилось. Вы приходите завтра, кУпите себе бланк, мы вам все сделаем. И уже собирается уходить. Я говорю, так вы фамилию назовите, кто за ваш ларек отвечает, я на него жалобу накатаю, и у всех будут бланки, и никто на вас - невиноватых - ругаться больше не станет. Ой, говорит, а я не знаю. Ну, говорю, тогда вы сами представьтесь.

Ох, че я наслушался. Про свою мелочность, некультурность, про то, что дел у меня нет других, что начинаю. В общем, понятно, что не мужик. А у меня внутри ярость ледяная все стискивает, все понимаю и в руках себя держу, чтоб повода не было ко мне придраться. Насчет некультурно, говорю, не согласен, я с вами вежливо разговариваю. А ваша фамилия мне нужна, потому что жалобу я все равно сейчас напишу, и там мне нужно написать, с кем я общался, и кто мне этот бланк дать не смог. У вас спросят, было такое, вы просто подтвердите, и все. И, говорю, непонятно мне, почему вы этого боитесь: если вы за это и правда не отвечаете, ничегошеньки вам не будет. Нет бланков - если это не ваше дело, кто вам слово скажет. А вы вот боитесь почему-то - объясните пожалуйста, почему. Если вы правду говорите, никакого вреда вам мое заявление не принесет, говорю, в чем вопрос?

Вам, говорит, че надо? Я прифигел, а то вот непонятно, чего мы хочем, говорю - бланк мне нужен. Зашла в кабинет, через секунду с бланком вышла. Я с бланком к девчонке - смотрите, говорю, вот ведь волшебство - нашелся бланк, которого ни у кого не было! Сидит красавица, в сторону смотрит. Все барство как рукой сняло.

Вышел, по улице иду, дыхание выравниваю, про себя перебираю ситуацию. Дело решилось за 10 секунд, а скандала. Неужели две родовитые барыни не могли просто бланк достать и забыть, раз уж к ним на прием пришли. Неужели даже такие мелкие чиновники нас челядью считают, с которой даже по-человечески говорить не обязательно.

PS. Бланк оказался совершенно обычным ксероксом, не знаю, можно было его скачать или нет. Отнесла жена его потом без меня, но общались с ней вполне вежливо.

PPS писал с телефона, заранее спасибо за подсказку в части орфографии, пунктуации и стилистики.

Какая оплата, такой и сайт

Какая оплата, такой и сайт Скриншот, Reddit, ADME

Неудавшийся суицидник

— Да, — ошарашенно отвечает.

— Ну, давай, — говорю, — я сниму, а она потом на твои мозги посмотрит.

Минута замешательства, а потом со словами: "А вот хуй ей", — парень слезает и гордо удаляется.

Не мой день. Такое видео сорвалось)))

Смысл что-то доказывать

Смысл что-то доказывать

Гадание

Гадание


Дождались

Дождались


Черный юмор


Вот интересный вопрос, да

Вот интересный вопрос, да Юмор, Птицы, Повтор, Синица, Сало, Картинка с текстом

Ох, сегодня посмеялся я в суде.

Дело о разделе имущества, типично - квартира и машина, но, что не типично - квартира не в ипотеке, машина не в кредите.

Я предоставляю объяснения от бывшей тещи, что 2 000 000 на приобретение квартиры она подарила дочери. То есть пропорциональная доля не может являться совместно нажитым имуществом.

Мужик начинает возмущаться:

- Все это вранье, там не два миллиона было, а всего миллион восемьсот!

Причем мужик был на заседании с представителем! Его представитель чуть ли не руками рот ему зажимала. Но. уже признал - поздно пить Боржоми. Кстати, вот по этой причине, без крайней необходимости, лучше обойтись без присутствия клиента. Всегда есть шанс, что эмоции возобладают.

По поводу автомобиля мужик тоже не согласен признать его совместно нажитым имуществом.

- Это я со своей зарплаты откладывал, вот и накопил!

- Постой, дорогой, а на что вы тогда жили?

- Как на что? На зарплату жены!

Тут уже судья не выдерживает:

- Если вы жили на зарплату жены - то, получается, зарплата жены - общая?

- А твоя зарплата - тоже общая?

- А деньги, которые ты откладывал с зарплаты - они тогда - что.

- Как - что? Заначка!

Дословный перевод

Дословный перевод

По теме отстрела собак

Служил в 90-х в сибирском военном городке, последний из заступавших патрулей назначался "собачьим", выдавали "Марголин" с коробкой патронов. Ходили стреляли, было жалко, но детишки дороже. На взрослых стаи тоже нападали.
За таким патрулем один дедок постоянно ходил, он из этих собак шубы для пролетариата унты шил. На самогон выменивал тушки.


А я тогда расскажу, как стирать белое. Потому как очень люблю белую одежду, но при этом - вуаля! - законченный хрюн. Я помню, раньше белая рубашка за месяц превращалась в серую тряпку. Со временем я поднаторела в данном вопросе, и сейчас у меня есть рубашка, которой года четыре, если не больше. И она до сих пор белая.

1. Белое стирать только с белым! И нет, МОЛОЧНОЕ - это не белое. Я заметила, что если молочное и белое стирать вместе, то белое моментально перестает быть белым, в нем появляется левый, совершенно ненужный, оттенок. Так что, сюрприз! - молочное тоже линяет. И цвет слоновой кости. И кремовый. И вообще любой, который не белый. Особо упоротым предлагаю разделить белое на простое белое и кипенно-белое (с голубым оттенком) и тоже не смешивать их между собой. Мне проще, я кипенно-белый на дух не переношу, этот оттенок меня бесит. Поэтому все мои белые вещи именно белые.

2. Долой отбеливающие гранулы! Это такие синенькие штучки в порошке, особенно их много в порошках "для белых вещей". По сути, это синька. При одноразовом использовании вещь визуально выглядит белее. Но если пользоваться этой хренью регулярно, одежда приобретает серо-голубой оттенок, весьма похабный. То же касается гранул розового, оранжевого, да вообще любого цвета. Они подкрашивают ткань. Ну их нафиг. Я методом научного тыка нашла порошок, который просто тупо белый. Причем ашановский, марки "каждый день". Слишком дешевый, чтобы производители стали добавлять внутрь какие-то цветные приблуды. То что надо, короче.

3. Кислородный отбеливатель - при каждой стирке! Эта штука хорошо выбивает из ткани загрязнения, а одежда пачкается не только там, где какое-то пятно, но и вся целиком тоже, просто не так заметно. Но раз за разом невыполосканная грязь накапливается, и шмотка становится серой. Кислородный отбеливатель тоже должен быть без цветных включений! Я подсела на Frau Schmidt белее белого (не уверена, что правильно написала). Дороговат, но обходится дешевле, чем покупка новых рубашек. А когда он исчез из ближайшего магазина и я в отчаянии стала пробовать другие, ниче так оказался золушка (в пакетиках). Насчет длительного использования пока ничего не могу сказать. Но он дешевый и сходу работает вроде так же хорошо, как и "Фрау". Подумываю над сменой религии.

4. Кондиционер для белья - белого цвета! Ага, прикиньте. Я с художественным образованием, и тренированный глаз хорошо различает оттенки. В общем, когда после розового кондиционера вся стирка белья стала отдавать розовым, я перестала пользоваться кондиционерами с красителями (они ж не сами по себе такие радужные). А впрочем, потом я вообще перестала ими пользоваться. Мне, вроде как, и так норм. Все что мягкое и пушистое, я стираю ласками, а все остальное и без кондиционера нормально себя чувствует. Может я не права. Но бутылка кондиционера для белья нехило так утяжеляет сумку с покупками. Этот аргумент оказался решающим.

5. Ласка для белого это просто ласка для белого. Я, как фанат ласок, не нашла никакой разницы между лаской для белого и лаской обычной. Ну, кроме запаха (у "белой" чет не понравился). Если сравнивать стирку ласка плюс кислородный отбеливатель и дешманский порошок плюс тот же отбеливатель, разницы в белизне одежды я не заметила. Эксперимент был длительный. После ласки ткань мягче, факт. Но хлопковым рубашкам на это начхать, имхо. А батистовые я еще и подкрахмаливаю вообще.

6. Пятна. Я для себя делю пятна на красители, жир и. не знаю, как сказать. Застревающие? Когда загрязнитель в виде микрогранул застревает в волокнах ткани. Это земля, пепел, глина, грязь уличная - изначально оно может быть в виде каши, но в итоге высыхает и именно застревает в ткани, не окрашивая ее. Вот о таком виде загрязнений хочется рассказать в первую очередь. Худшее, что можно сделать с таким свежим пятном - потереть или размазать. Или попытаться смыть сразу (если грязюка имеет свойство только застревать, но не окрашивает волокна, это важно) - так эта хрень распределится по большей площади и глубже засядет. Вляпался - не трогай. Когда грязюка высыхает, нужно стряхнуть сначала все масштабное, а потом мягкой щеткой (я использую ультрамягкую зубную, гарантированно не повредит волокна ткани) "вылущиваем" всю эту пыль из ткани. Хорошо помогает потереть ткань в руках. такое характерное движение, когда пятна выстирывают. Только насухую. Когда вытряслось все что можно и что нельзя, и прогресса больше не наблюдается, можно добавлять воду. Таким пятнам плевать на хлорку, зато они отлично реагируют на кислородный отбеливатель. Сделать из него кашку и намазать на влажную вещь в районе пятна - прекрасно помогает. (Если не стирали с кислородным отбеливателем вещь на регулярной основе и она потемнела, то на этом месте может образоваться светлое пятно, имейте ввиду!) Минут через 5-10 потереть щеткой еще. Так же хорошо выбивает загрязнения из волокон струя воды - просто подставить под кран, чтобы вода била сквозь пятно. Можно совместить с щеткой.

Красители. Эти пятна лучше отмывать как можно скорее. Чем дольше краситель в контакте с тканью, тем сильнее въедается. Вино, кофе, морковка - это все оно. Если в падлу стирать немедленно, хотя бы в тазик с водой закиньте, причем прохладной. Красители лучше всего реагируют на хлорку - она просто их обесцвечивает. Но сначала все-таки лучше потереть с обычным средством типа порошка или ласки, а потом уже хлорить. Хлорный отбеливатель нужно наносить только на пятно - хлорка не только разрушает волокна ткани, но и делает белую вещь желтой, если злоупотреблять ею. Я лью ее чистоганом, но только на пятно (иногда кисточкой наношу точечно), и прям на месте смотрю, обычно секунд через 10 уже виден результат, иногда требуется до 5 минут, в зависимости от нахальности пятна. Если пятно не яркое, лучше развести хлорку водой чутка. Красящие пятна не любят очень горячую воду - не даром при окрашивании ткань кипятят. Лучше въедается. Просто теплой воды достаточно.

Жир. Тоже лучше отстирывать сразу. Хуже жирных пятен только жирные застывшие. Если лениво капец - под струю горячей воды а потом в тазик с горячей водой, жир "плывет" от высокой температуры. Жирные пятна хорошо отстирываются горячей водой плюс фейри. Только прозрачным фейри, который Pure, или как его там. Он бесцветный. Зеленый фейри оставляет после себя зеленые пятна. Так же посуху часть жира можно снять мелом/тальком. Пятна от мела потом удалять по схеме застревающей грязи XD Комбинированные пятна выводятся по наитию и путем незамутненного творчества.

7. Температура стирки. Это чисто эмпирическое наблюдение, я хз чем это объяснить, но после стирки при 60 градусах белье приобретает сероватый оттенок, особенно нижнее, а при 30-40 градусах нет такого эффекта, при том, что порошок и кислородный отбеливатель одинаковые. Не знаю, почему так. Поэтому на высокой температуре стираю только тогда, когда дезинфекция и выведение пятен приоритетнее. "Посерение" обратимо и почти полностью снимается за 3-4 стирки при 40 градусах с кислородным отбеливателем. Кроме нижнего белья. Оно может остаться серым навсегда.

8. Кровь отстирывается в холодной воде. Да, в горячей ее тоже можно оттереть. Но я специально ставила эксперимент, оттирая два одинаковых кровавых пятна в холодной и в горячей воде. В первом случае процесс шел куда веселее. Тока руки замерзли. наверное "холодная вода" я поняла слишком буквально. Оттирайте кровищу содой, хорошо получается. Где-то вычитала, способ прям зашел мне.

9. Глажка утюгом на максимальной температуре делает ткань желтой. А при отпаривании могут остаться пятна от накипи и ржавчины, только "девственный" утюг не имеет в резервуаре для воды какой-нибудь херни. Глажка на 2-2,5 с максимально мощным паром ЧЕРЕЗ ПРОУТЮЖИЛЬНИК - гарантия что и отгладится отлично, и не попортится ничего. А сушка на плечиках или в расправленном виде (перед развешиванием хорошо бы еще встряхнуть вещь) в половине случаев вообще снимает необходимость в утюжке.

Вот как-то так. Я не химик, не алхимик, не химчистик, но портной, но все равно - данный манускрипт основан на личных наблюдениях и экспериментах и вообще ни на что не претендует.

П.С. если вы закинули в стирку с белым красный носок, шмотки можно спасти! Стирки с кислородным отбеливателем в дозировке х2 плюс пара заходов на замачивание в разведенной хлорке. Я так постирала скопом ВСЕ свои белые шмотки. И да. Там был носок. Зеленый. Первые две недели шмотки были разной степени цветности, потом постепенно одуплились. Кислородный отбеливатель выбил из них лишнюю краску, а остатки осветлила хлорка. Вещи теперь не вот прям снежно-белые, но белые точно. Кто не художник, не спалит, что они были зелеными когда-то. Да и я уже, наверное, тоже.

Читайте также: