网络爬虫开发

网络爬虫开发

第一章 课程介绍

  • 什么是爬虫
  • 爬虫的意义
  • 课程内容
  • 前置知识

1.什么是爬虫

可以把互联网比喻成一张大网,爬虫就是在这张大网上不断爬取信息的程序
所以,一句话总结: 爬虫是请求网站并提取数据的自动化程序
爬虫的基本工作流程如下:

  1. 向指定的URL发送http请求
  2. 获取响应(HTML、XML、JSON、二进制等数据)
  3. 处理数据(解析DOM、JSON等)
  4. 将处理好的数据进行存储

爬虫工作流程图:
根据URL地址发送请求 --> 获得响应
^ |
|
解析出新的URL <-- 对DOM文档进行解析 --> 过滤出符合要求的数据 --> 下载到本地或存储到数据库

2.爬虫的意义

爬虫就是一个探测程序,他的基本功能就是模拟人的行为去各个网站转悠,点点按钮,找找数据,或者把看到的信息背回啦。就像是一只虫子在一栋大楼里不知疲倦爬来爬去。
你可以简单的想象:每个爬虫都是你的“分身”。
你每天使用的百度和Google,其实就是利用了这种爬虫技术:每天放出无数的爬虫在各个网站上,把他们的信息抓回来,存储到数据库中等你来检索。

抢票软件,就相当于撒出无数个分身,每一个分身都不断帮你刷新12306网站的或者票剩余。一旦发现有票,就马上下单,然后对你提示“赶快来付款啦”
在现实中,几乎所有的行业的网站都会被爬虫所骚扰,而这些骚扰都是为了方便用户。
当然,有些网站是不能被过分骚扰的,其中排第一的就是出行类行业。
12306就是因为被爬虫折磨的无可奈何所以才会出各种变态的验证码
正所谓道高一尺魔高一丈,某些爬虫工具,为了解决这种变态的验证码,甚至推出了“打码平台”
原理就是爬虫还是在不断的工作,但只要遇到二维码,就通过打码平台下发任务,打码平台另一边就雇佣一大堆网络闲人,只要看到有验证码来了,就人工选一下验证码,完美的让程序与人工结合!

3. 课程内容及目标

  1. 爬虫简介
  2. 制作一个自动下载图片的小爬虫
  3. 使用Selenium爬取动态网站

4. 前置知识

  1. js基础
  2. node基础

第二章 爬虫基础

例如要下载黑马官网上所有老师的照片,需要一下步骤能实现:

  1. 发送http 请求,获取整个网页的内容
  2. 通过cheerio 对网页内容进行分析
  3. 提取img标签的src属性
  4. 使用download库进行批量图片下载

1. 发送一个http请求

2. 通过cheerio库对网页内容进行分析

2.1 安装cheerio
2.2 使用cheerio库进行解析html
2.3 提取img标签的src属性
2.4 使用download库进行批量图片下载

4. 爬取新闻信息

爬取目标:http://www.itcast.cn/newsvideo/newslist.html

5. 封装爬虫的基础库

以上代码重复的地方非常多,可以考虑以面向对象的思想对其进行封装,进一步提高代码的复用率,为了方便开发,保证代码规范,建议使用TS进行封装
以下知识点为扩展内容,需要对面向对象和TS有一定的了解

TS配置:
tsc --init

{
    "compilerOptions": {
        // basic Options
        "target": "es2015",
        "module": "commonjs",
        "outDir": "./bin",
        "rootDir": "./src",
        "strict": true,
        "esModuleInterop": true
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts"
    ]
}

然后使用”ctrl+shift&

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值