【分享】爬虫入门

46人浏览 / 0人评论

引言

  • 警告:一切未经允许私自爬取数据的行为都是违法的,甚至连扫描端口都是违法的!
  • 互联网产品最重要的是什么?
    • 用户
  • 一个新的互联网产品如何能让用户使用呢?
    • 有足够多,足够好的服务
    • 其基础就是数据
  • 作为一个新的产品,没有用户使用,那么数据从哪儿来?
    • 爬虫
  • 我为什么写爬虫?
    • 喜欢小说、动漫,但是广告太多了,资源太分散
  • 爬虫给我带了什么?
    • 享受了纯净的资源
    • 屏蔽了广告
    • 锻炼了技术
  • 你所知道的爬虫是什么样的?

什么是爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

爬虫分类

  • 通用爬虫(广度):百度、Google等
    • 适配性高,但消耗资源较高
    • 需要良好的深度广度控制算法
  • 聚焦爬虫(深度):特定领域爬虫
    • 精准、高效

爬虫的主要组成部分

  • 网页获取
  • HTML解析
  • 数据存储

Jsoup & HtmlUnit

  • Jsoup:简单、轻量的html解析工具
    • 无法执行js操作
  • HtmlUnit:无界面的浏览器
    • 初始化成本较高

Css Selector & Xpath

  • css selector和xpath对比
  • id/class/tagName
  • 节点/轴/
  • 使用chrome的开发者工具快速获取selector和xpath

数据存储

  • 数据库还是文件?
  • MongoDB

反爬

  • js反爬*
    • 字段混淆
    • 对某字段加密
    • 可以了解中国裁决文书网
  • Ip反爬
    • 使用高匿代理
  • cookie有效期
  • selenium的检测
    • 原理:检测请求中得webdriver标识
    • 我们使用chrome浏览器请求得时候webdriver为undefine
    • 使用chromedriver得时候,其为true
    • mitmproxy可以拦截请求, 在请求中修改webdriver标识
  • 验证码
    • 图像识别

实战 - fread.com

  • 获取小说列表
  • 获取章节具体内容
  • 登录
  • 切换代理

一些免费代理

  • https://www.kuaidaili.com/free/
  • http://www.89ip.cn/
  • http://www.shenjidaili.com/open/
  • ......

深入学习

  • 私有代理池 & 代理网关
  • 分布式爬虫
  • P2P爬虫
  • 暗网爬虫
  • 私有验证码识别服务
  • 数据清洗

全部评论