0
Я пытаюсь отфильтровать определенные данные из файла HTML. Например, файл HTML выглядит следующим образом:Как фильтровать данные из файла с помощью Python?
<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]">software_0.1-0.log</td><td align="right">17-Nov-2009 13:46 </td><td align="right">186K</td></tr>
Мне нужно извлечь software_0.1-0 части, а также 17-ноября-2009 части. Как я могу это сделать?
Большое спасибо.
В этом примере на самом деле не совсем ясно, каковы критерии фильтрации - похоже, это может быть «текст между«
ответ
Это довольно просто с BeautifulSoup:
Выход:
источник
2009-12-12 21:29:41
Вы можете извлечь интересующие строки (и некоторые другие тексты), используя, например, популярный пакет beautifulsoup. Затем вам понадобится некоторые манипуляции с строкой (или, может быть, регулярные выражения), чтобы отделить точную часть интереса, но это зависит от того, какие именно правила вы хотите применить, т. Е. Всегда это суффикс
.log
, который вы хотите удалить из имени файла, всегда ли это пространство, которое отделяет дату от времени и т. д. Если вы точно определите правила, их будет сложно реализовать (без точной спецификации, однако, все это будет большой путаницей догадок ;-).источник
2009-12-12 21:16:11
Попробуйте Beautifull Soup, синтаксический анализатор для HTML. Вы получите структурированный документ и сможете выбрать первое и второе содержимое td.
В этом случае это может быть излишним, но особенно, если ваш HTML-код снаружи и может изменить человека обслуживания, вы поблагодарите за выбор читаемого решения.
источник
2009-12-12 21:23:47 extraneon
вам требование кажется простым, так вот не способ BeautifulSoup, просто чистая строка манипуляции
сейчас вы можете использовать i [: e], чтобы найти «программное обеспечение» и часть даты
источник
2009-12-13 06:06:45 ghostdog74
Хотя это технически верно, все же лучше использовать Beautiful Soup, потому что в будущем вы будете платить дивиденды, когда вам придется выполнять более сложные манипуляции с HTML. –
до того времени, когда все сложнее, нет необходимости использовать BeautifulSoup только для этого случая – ghostdog74
Смежные вопросы