From 8b01ccc517117801c061708ec7b2a8a473dfaf81 Mon Sep 17 00:00:00 2001 From: liguanwei Date: Mon, 16 Dec 2024 21:07:12 +0800 Subject: [PATCH] sunninghao_change --- .../thirdparty/beautifulsoup/beautifulsoup.py | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/sqlmap-master/thirdparty/beautifulsoup/beautifulsoup.py b/src/sqlmap-master/thirdparty/beautifulsoup/beautifulsoup.py index 7401def..76c08fd 100644 --- a/src/sqlmap-master/thirdparty/beautifulsoup/beautifulsoup.py +++ b/src/sqlmap-master/thirdparty/beautifulsoup/beautifulsoup.py @@ -79,51 +79,71 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE, DAMMIT. from __future__ import generators from __future__ import print_function +# 导入 Python 2.6 以后版本中的一些特性,使得代码可以在早期版本中使用 +# generators: 使得代码可以使用 Python 2.6 引入的生成器特性 +# print_function: 使得代码可以使用 Python 3.x 中的 print 函数 + __author__ = "Leonard Richardson (leonardr@segfault.org)" __version__ = "3.2.1b" __copyright__ = "Copyright (c) 2004-2012 Leonard Richardson" __license__ = "New-style BSD" +# 定义库的作者、版本、版权和许可证信息 + import codecs import re import sys +# 导入 Python 标准库中的模块 + if sys.version_info >= (3, 0): + # Python 3.x 版本兼容处理 xrange = range text_type = str binary_type = bytes basestring = str unichr = chr else: + # Python 2.x 版本兼容处理 text_type = unicode binary_type = str try: + # 尝试从 Python 3.x 的标准库中导入 name2codepoint from html.entities import name2codepoint except ImportError: + # 如果导入失败(在 Python 2.x 中),则从 htmlentitydefs 模块导入 from htmlentitydefs import name2codepoint try: + # 尝试导入 set(Python 2.6 以后版本中新增的集合类型) set except NameError: + # 如果导入失败(在 Python 2.6 之前的版本中),则从 sets 模块导入 Set 类 from sets import Set as set try: + # 尝试导入 sgmllib 模块(Python 3.x 中的模块) import sgmllib except ImportError: + # 如果导入失败(在 Python 2.x 中),则从 lib.utils 目录导入 sgmllib from lib.utils import sgmllib try: + # 尝试导入 markupbase 模块(Python 3.x 中的模块) import markupbase except ImportError: + # 如果导入失败(在 Python 2.x 中),则从 _markupbase 模块导入 import _markupbase as markupbase -#These hacks make Beautiful Soup able to parse XML with namespaces +# 这些 hack 使得 Beautiful Soup 能够解析带有命名空间的 XML sgmllib.tagfind = re.compile('[a-zA-Z][-_.:a-zA-Z0-9]*') markupbase._declname_match = re.compile(r'[a-zA-Z][-_.:a-zA-Z0-9]*\s*').match DEFAULT_OUTPUT_ENCODING = "utf-8" +# 设置默认的输出编码为 UTF-8 + def _match_css_class(str): """Build a RE to match the given CSS class.""" return re.compile(r"(^|.*\s)%s($|\s)" % str)