设计选择器的目的是区分选择HTML元素(xpath、css、regex)的各种方法。我们将使用选择器来选择HTML中的列表元素。当然,我们还需要使用选择器来选择selenium的WebElement,这样crawlist就可以对下一页的点击事件进行操作。如果你不知道selenium是什么,请先学一下。
import crawlist as cl
# 从web网页文本中选择对应列表元素
css_selector = cl.CssSelector('your css')
xpath_selector = cl.XpathSelector('your xpath')
regex_selector = cl.RegexSelector('your regex')
# 选择selenium的webElement选择,在动态的pager中使用
css_webe_selector = cl.CssWebElementSelector('the button css')
xpath_webe_selector = cl.XpathWebElementSelector('the button xpath')
import crawlist as cl
# 继承自cl.Selector类
class MySelector(cl.Selector):
# 你需要重写select和valid方法
# 在当前html中选择出你需要的内容,并将它们组合成列表返回
def select(self, html: str) -> list[str]:
pattern = self.pattern # 规则
raise NotImplementedError
# 校验你的规则,可以忽略
def valid(self, pattern) -> bool:
raise NotImplementedError