爬虫基础原理 Zero to Hero (一)

1.什么是爬虫?

网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网网络机器人

本文首发于伊洛的个人博客:https://yiluotalk.com,欢迎关注并查看更多内容!!!

  • 其实通俗的来讲,本质上爬虫就是自动化的程序,自动化模拟人的操作。比如在网站上下载小说,下载图片,下载视频等等。如果让你本人下载1-2张图片可能很容易,但是如果让你下载100张甚至10000张图片的话,就一定会发狂了。所以就交给自动化的爬虫来帮你下载10000张图片!解放你的双手~
2.浏览器获取数据过程

  • 浏览器向服务等发送httprequest请求
  • 服务器响应response
  • 浏览器解析数据
  • 展示给用户
3.Rquest 和 Response
  • Request 包含内容
    1.请求方式通常有Get Post Put Delete
    2.请求URL
    3.请求头
    4.请求体

  • 来请求一些伊洛的个人博客 https://yiluotalk.com

  • 点击Network,查看headers

  • 注意一般服务器会对请求数据做校验,一般在请求头里面需要加user-agent

  • Response 包含内容
    1.响应状态 ,状态码
    2.响应头 response headers
    3.响应体信息

  • 来看一下伊洛博客的返回

  • 返回的是html页面

4. 爬虫的过程
  • 通过上面我们已经比较清楚了,浏览器请求服务器到服务器响应,浏览器解析展示给用户的简单过程,那么我们爬虫的话大概分几步呢
    通常来说分为四个步骤
  • 1.爬取数据 发起http请求 (来用python代码演示下)
    可能需要爬取的数据是会有 Html文档Json格式文本图片视频,等
# 伊洛Yiluo
# https://yiluotalk.com
>>> import requests
>>> r = requests.get("https://yiluotalk.com")
>>> print(r.status_code)
200
  • 2.获取响应内容
    如上获取了响应的状态码为200
  • 3.解析内容
    解析的方式可能有很多种,后续展开讲述下
  1. 直接处理
  2. Json 解析
  3. 正则表达式
  4. 有很多好用的第三方库,比如 BeautifulSoup pyquery scrapy 还有xpath也可以
# 伊洛Yiluo
# https://yiluotalk.com
print(r.text)
  • 响应的是html文件

5.保存数据

  • 保存数据一般分为以下几种,后续展开来讲
    纯文本Json Xml关系形数据库(Mysql)非关系型数据库(Mongodb)二进制文件
5. 找不到要爬取的数据

由于一些网站的页面是动态获取的,所以最后你看到的页面可能是通过js渲染出来的,那么怎么来处理呢,简单的可以分为
1.分析ajax请求,json格式字符串
2.selenium webdriver 浏览器驱动
3.splash
4.pyv8ghost8

  • 这里先简单的介绍下模拟人工浏览器的方式,也就是 WEB自动化测试经常用到的,selenium ,可以翻下伊洛之前介绍selenium webdriver自动化测试的的相关文章
  • 依旧是访问 https://yiluotalk.com
  • 输入网址
  • 这样通过浏览器驱动的方式访问的就会正确的获得响应的所有信息

在这里插入图片描述

欢迎下方【戳一下】【点赞】
Author:伊洛Yiluo
愿你享受每一天,Just Enjoy !

关注公众号获取更多内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值