Автор Тема: Как распарсить html страницу  (Прочитано 612 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн astanid [?]

  • Новичок
  • *
  • Сообщений: 38
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Как распарсить html страницу
« Создано: Декабрь 28, 2016, 12:35:33 »
Это страница тестов. Планируется записать вопросы и варианты в базу (Excel хотя бы), не торопять разобрать - потом зайти ответить.
Нужно по хоткею распарсить страницу и записать в excel вопрос и варианты ответов.
Вот с парсингом страницы проблемы. Кто может помочь примером ?

страницы во вложении (несколько штук для примера). нужная часть кода страницы вот эта
<section>
                <h1 class="np">PHP Test</h1>
                <h2 class="oH2Low">Question 1 of 50</h2>
            </section>
            <form id="questionForm" action="https://www.upwork.com/ostep/test2.php/attempt/serve" method="POST" class="oFormTop">
                                <p class="oTxtMed"><pre>Which of the following is not a predefined constant?</pre></p>
                                <fieldset class="oFormField">
                    <div id="answerOptions" class="oOptGrp oOptBoxGrp " style="width: 100%;">
                                                                        <div class="oOpt oOptBox">
                                <label class="oOptLbl">
                                    <input type="checkbox" name="answers[a]" class="optInput" id="answers_a" />                                    <pre class="np">TRUE</pre>
                                </label>
                            </div>
                                                                                                <div class="oOpt oOptBox">
                                <label class="oOptLbl">
                                    <input type="checkbox" name="answers[b]" class="optInput" id="answers_b" />                                    <pre class="np">FALSE</pre>
                                </label>
                            </div>
                                                                                                <div class="oOpt oOptBox">
                                <label class="oOptLbl">
                                    <input type="checkbox" name="answers[c]" class="optInput" id="answers_c" />                                    <pre class="np">NULL</pre>
                                </label>
                            </div>
                                                                                                <div class="oOpt oOptBox">
                                <label class="oOptLbl">
                                    <input type="checkbox" name="answers[d]" class="optInput" id="answers_d" />                                    <pre class="np">__FILE__ </pre>
                                </label>
                            </div>
                                                                                                <div class="oOpt oOptBox">
                                <label class="oOptLbl">
                                    <input type="checkbox" name="answers[e]" class="optInput" id="answers_e" />                                    <pre class="np">CONSTANT</pre>
                                </label>
                            </div>
                                                                </div>
                </fieldset>
или может принципиально другой способ логичней использовать чтобы записать данные в данном случае ?


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Русское сообщество AutoIt

Как распарсить html страницу
« Отправлен: Декабрь 28, 2016, 12:35:33 »

Оффлайн astanid [?]

  • Новичок
  • *
  • Сообщений: 38

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Как распарсить html страницу
« Ответ #1, Отправлен: Декабрь 29, 2016, 11:19:19 »
В целом разобрался (в своем случае по крайней мере). Все делается с помощью _StringBetween
Код: AutoIt [Выделить]
$answers=_StringBetween($sFileRead, '<pre class="np">','</pre>')
 _ArrayDisplay($answers, "Answers")



Русское сообщество AutoIt

Re: Как распарсить html страницу
« Ответ #1 Отправлен: Декабрь 29, 2016, 11:19:19 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
4206 Просмотров
Последний ответ Октябрь 26, 2010, 22:04:57
от Garrett
9 Ответов
5031 Просмотров
Последний ответ Февраль 14, 2014, 23:45:40
от glax24
7 Ответов
5028 Просмотров
Последний ответ Сентябрь 01, 2011, 22:43:58
от ynbIpb
9 Ответов
4247 Просмотров
Последний ответ Сентябрь 23, 2011, 12:30:48
от deeman313
3 Ответов
3074 Просмотров
Последний ответ Март 02, 2012, 21:40:41
от Trans
4 Ответов
2639 Просмотров
Последний ответ Август 25, 2012, 18:39:21
от Ganibal95
4 Ответов
2082 Просмотров
Последний ответ Декабрь 17, 2012, 21:45:41
от Trans
12 Ответов
3238 Просмотров
Последний ответ Февраль 28, 2014, 12:00:58
от _dron_
3 Ответов
927 Просмотров
Последний ответ Август 31, 2014, 13:15:58
от AZJIO
16 Ответов
2443 Просмотров
Последний ответ Август 14, 2015, 08:27:52
от Yashied