def _start(self, result, position=0): i_start = 0 for i in range(self.margin)[::-1]: start = result[position:i + position] start = extract_utils.escape_regex_meta(start) p = re.compile(start, re.IGNORECASE) match = p.search(self.html_text) if match: s = match.group() i_start = self.html_text.index(s) break return i_start
def _end(self, result): i_end = 0 for i in range(1, self.margin)[::-1]: end = result[-i:] end = extract_utils.escape_regex_meta(end) p = re.compile(end, re.IGNORECASE) match = p.search(self.html_text) if match: s = match.group() i_end = self.html_text.index(s) + len(s) break return i_end