• 我的爬虫见解


    爬虫

    python:语法简单,数据结构方便,适用于爬虫

    1.找到数据-------------------------html页面抓取
    |
    |
    |-----数据接口抓取(网页xhr中找)

    2.处理数据-------------------------优先通过xpath来找 ,通过lxm中的etree,也可以通过别的工具例如beautifulsoup
    |
    |
    |-----最差情况用正则,可读性低同时开发效率慢。有些数据不规范,不符合文档树结构或者节点标签对不齐。

    3.数据持久化------------------------储存到mysql中,关系型数据库整齐划一
    |
    |
    |-------储存到mongodb中,方便,而且适用于分布式

    4.日志------------------------------线上环境必须打日志,不然出问题不知道哪个环节报错,不能即时修改

    5.框架化-----------------------scrapy,面对整个网站的大型爬虫项目适用,主要使用crawspider,框架的话更将爬虫各部分拆的更细。

    6.效率化--------------------------首先考虑此网站抗压能力,别把网站爬崩是首要
    |
    |
    |----单线程爬虫不设置延时可能被封ip,效率爬虫需要ip池
    |
    |
    |----如果需要更高效率,使用多线程爬虫,对接IP池
    |
    |
    |----如果需要更高效率,使用分布式爬虫,多台服务器更高的硬件性能来爬虫

    5.反爬手段--------------------文字,滑动验证码都可以用库或者本地算法来解决,或者单独写接口来让人来交互(一般次数很少,不然不能自动化),实在不行上selenium(效率低,但是是基于浏览器点击的实现,非必要不使用)

  • 相关阅读:
    springBoot对接Apache POI 实现excel下载和上传
    java毕业设计房车营地在线管理系统Mybatis+系统+数据库+调试部署
    app如何新增广告位以提升广告变现收益?
    LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)
    django-ORM
    BigDecimal简单介绍
    PowerDesigner 设置
    八股文之设计模式
    网络应用程序设计模式:浅谈CS架构与BS架构
    Java面试问题笔记——JVM
  • 原文地址:https://blog.csdn.net/dom_l_z/article/details/125388223