webster icon indicating copy to clipboard operation
webster copied to clipboard

希望爬虫支持的特性

Open iamjoel opened this issue 7 years ago • 2 comments

  • 设置
    • 针对反爬虫
      • user agent
      • 禁用 Cookie
      • 抓取页面的间隔
      • ip池。检测ip被封时,可动态改。
    • 爬取效率
      • 重复的url不会爬。
      • 分布式爬。
  • 抓取页面前
    • 支持回调。一般是做登录。
  • 获得页面的响应后
    • 探测页面编码。防止乱码。
    • 支持回调。
  • 提取页面数据
    • 支持用 CSS 选择器和 xpath 来解析 HTML。
    • 设置 Cookie。
    • 能模拟用户操作。
  • 能动态添加要爬取的页面。

iamjoel avatar Nov 10 '17 04:11 iamjoel

  • 针对反爬虫方面,ua 目前在consumer实例化时支持作为参数传入,如果不传的话默认是一个webster自己的标识性ua。

  • 爬取效率方面,目前webster这个框架的初衷就是以框架层面解决爬虫程序的横向扩展问题,生产者生产任务,推入redis队列,消费者从队列中取任务并进行抓取。

  • 关于回调,目前只支持页面响应后的回调,具体调用方式并非传入一个callback function作为参数,而是继承webster.consumer基类时,在子类里override一个父类方法。

  • 编码问题,对于browser模式,由于底层依靠的是headless chromium,因此不用担心编码问题,而plain模式,如果有遇到编码的问题可以将case单独报issue。

  • 提取页面数据,目前只支持css选择器, 暂不支持xpath

  • 动态添加要爬取的页面,这个现在就是支持的, 你只要在消费者 抓取页面返回时的回调函数里再实例化一个生产者,并生产新任务推入队列就可以了。

以上是目前webser已支持了的特性,其余特性待后续版本中引入,感谢宝贵的建议,欢迎PR

zhuyingda avatar Nov 10 '17 16:11 zhuyingda

version 1.4.1已经支持了 cookie,通过 自定义header功能方式可以使爬虫的抓取请求的http头里携带cookie或其他session相关字段,具体参考这里有 单测用例中大api调用

zhuyingda avatar Jul 05 '18 08:07 zhuyingda