Skip to content

Commit 828c53c

Browse files
committed
适配parsel==1.7.0
1 parent a5cd76a commit 828c53c

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

feapder/network/selector.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
"""
1010
import re
1111

12+
import parsel
1213
import six
1314
from lxml import etree
1415
from parsel import Selector as ParselSelector
1516
from parsel import SelectorList as ParselSelectorList
17+
from parsel import selector
1618
from w3lib.html import replace_entities as w3lib_replace_entities
1719

1820

@@ -54,8 +56,7 @@ def extract_regex(regex, text, replace_entities=True, flags=0):
5456

5557

5658
def create_root_node(text, parser_cls, base_url=None):
57-
"""Create root node for text using given parser class.
58-
"""
59+
"""Create root node for text using given parser class."""
5960
body = text.strip().replace("\x00", "").encode("utf8") or b"<html/>"
6061
parser = parser_cls(recover=True, encoding="utf8", huge_tree=True)
6162
root = etree.fromstring(body, parser=parser, base_url=base_url)
@@ -64,6 +65,10 @@ def create_root_node(text, parser_cls, base_url=None):
6465
return root
6566

6667

68+
if parsel.__version__ < "1.7.0":
69+
selector.create_root_node = create_root_node
70+
71+
6772
class SelectorList(ParselSelectorList):
6873
"""
6974
The :class:`SelectorList` class is a subclass of the builtin ``list``
@@ -150,6 +155,3 @@ def re(self, regex, replace_entities=True, flags=re.S):
150155
return extract_regex(
151156
regex, self.get(), replace_entities=replace_entities, flags=flags
152157
)
153-
154-
def _get_root(self, text, base_url=None):
155-
return create_root_node(text, self._parser, base_url=base_url)

0 commit comments

Comments
 (0)