Я искал, но не смог найти правильный ответ, возможно, мой поисковый запрос неверен. Но что касается вопроса, у меня ниже в html-документе для выпадающих значений.как найти значения параметра из одного раздела с помощью Regex
<select style="background: red; color: #fff; padding: 5px;" class="mainNewcat" size="1">
<option>My New List</option>
<option value="http://www.google.com/value1.html">Value 1</option><option value="http://www.google.com/value2.html">Value 2</option><option value="http://www.google.com/value3.html">Value 3</option> </select>
<select style="background: green; color: #fff; padding: 5px;" class="mainOldcat" size="1">
<option>My Old List</option>
<option value="http://www.yahoo.com/cat1.html">Category 1</option><option value="http://www.yahoo.com/cat2.html">Category 2</option><option value="http://www.yahoo.com/cat3.html">Category 3</option> </select>
Что я ищу, это URL и текст только из «Мой новый список». До сих пор регулярное решение, которое я имею, - это сначала поиск блока значений параметра в «My New List», а затем другое регулярное выражение для поиска url и текста из первого результата, например, ниже, в котором используется модуль RE python.
main_regex = re.compile('<select.+?\n.+?New.+?\n(.+?)<\/select>').findall(html)
final_regex = re.compile('value="(.+?)">(.+?)</option>').findall(main_regex)
Есть ли лучшее решение, чем у меня? или я должен использовать некоторый синтаксический анализатор вместо регулярного выражения?
Дерьмо. Ваше решение было бы идеальным решением, но я хотел держаться подальше от beautifulsoup, поскольку это вызывает проблемы с производительностью на нижних конечных устройствах, таких как (Rpi). У одних и тех же устройств улучшенная производительность с регулярным выражением, чем у красивых. – user1819085
@ user1819085 ну, мы можем работать над тем, чтобы он работал быстрее, если это так. Мы можем начать с использования 'lxml' в качестве базового анализатора:' BeautifulSoup (data, "lxml") 'или используя классы фильтра супа для анализа только соответствующих частей страниц. – alecxe