BeautifulSoup является отличным способом пойти для очистки HTML. Мое предыдущее задание имело меня делающий большую очистку, и мне жаль, что я не знал о BeautifulSoup, когда я запустил. Это похоже на DOM с намного более полезными опциями и является намного большим количеством pythonic. Если Вы хотите попробовать Ruby, они портировали BeautifulSoup, назвав его RubyfulSoup, но он не был обновлен в некоторое время.
Другие полезные инструменты являются HTMLParser или sgmllib. SGMLParser, которые являются частью стандартной библиотеки Python. Они работают вызывающими методами каждый раз, когда Вы вводите/выходите тег и встречаетесь с текстом HTML. Они похожи на Эмигранта, если Вы знакомы с этим. Эти библиотеки особенно полезны, если бы Вы собираетесь проанализировать очень большие файлы и создаете дерево DOM, было бы длинным и дорогим.
Регулярные выражения не очень необходимы. BeautifulSoup обрабатывает регулярные выражения поэтому при необходимости в их питании, можно использовать его там. Я говорю, идут с BeautifulSoup, если Вам не нужны скорость и меньший объем потребляемой памяти. При нахождении лучшего синтаксического анализатора HTML на Python сообщить мне.
Вы не можете заставить браузер удалить файл, связанный с каким-либо файлом cookie, потому что вы не можете гарантировать, что такой файл действительно существует - договор между браузером и веб-сервером относительно файлов cookie заключается в том, что данные будут быть представленными при подходящих запросах.
Вы заявляете, что «не хотите ждать, пока истечет срок действия файла cookie», но истечение срока действия файла cookie является правильным методом для указания того, что данные больше не нужны и не должны представляться в будущем запросы, которые в большинстве случаев переводятся на удаление файла браузером.
Следовательно, чтобы удалить cookie, установите время его действия в прошлое. В PHP это делается с помощью setcookie ()
.
Попробуйте что-то вроде этого, чтобы удалить все файлы cookie:
foreach ($_COOKIE as $name => $value) {
setcookie($name, '', 1);
}
Значение 1
- это значение expire , и оно представляет одну секунду после начала эпоха времени Unix. Так что срок его действия всегда истек.
Да. Используйте setcookie ()
и установите дату истечения срока действия cookie, который вы хотите удалить, на время в прошлом. В результате браузер пользователя должен автоматически удалить его.
Я думаю, вам нужно использовать комбинированный подход:
Есть две веские причины для использования смешанного подхода:
Я написал этот плагин для себя, и он работает правильно.
(function($) {
$.cookieAllDelete = function(doc)
{
var cookie_date = new Date();
var cookies = null;
cookies = doc.cookie.split(';');
cookie_date.setTime(cookie_date.getTime() - 1);
for(var i=0; i < cookies.length; i++)
{
var cookie_name = cookies[i].split('=')[0];
try {
if (cookie_name.length > 0)
doc.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
} catch(ex) {}
}
}
})(jQuery);
jQuery.cookieAllDelete(document);