爬虫基础(上)

爬虫基础(上)_第1张图片

1.爬虫概要

  • Django 静态网页 

页面上的数据如果使用JS渲染就是动态网页(flask) 否则就是静态网页(Django)

区别: 动态页面使用js渲染的 右击在网页源码是没有数据的

  • 为什么要学习爬虫? 拿数据

爬虫的定义: 模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序

ps: 只要是浏览器能做的事情, 原则上, 爬虫都能够做


爬虫的更多用途: 12306抢票 , 网站上的投票, 短信轰炸


ajax: 实现页面的局部刷新,通过JS重新发送一次请求,拿到数据

  • 发送短信验证码的网站

爬虫基础(上)_第2张图片

  • 爬虫的分类: 

    - 通用爬虫: 通常指搜索引擎的爬虫

    - 聚焦爬虫: 针对特定网站的爬虫


  • 通用搜索引擎工作原理

爬虫基础(上)_第3张图片


  • ROBOTS协议

    -  网站通过Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取.

  • 例如: 

https://www.taobao.com/robots.txt

爬虫基础(上)_第4张图片


协议: 双方约定好 数据怎么传

爬虫基础(上)_第5张图片


   不一样原因在于 浏览器渲染的页面包含js调整修改之后的内容

爬虫基础(上)_第6张图片


爬虫基础(上)_第7张图片


HTTP常见请求头


  • GET请求 把参数放在url地址里面 ,GET请求有上限, url长度有限携带数据量有限

  • POST请求  把参数放在请求体里面, POST请求携带数据量没有上限

 

字符串

ASCII编码是1个字节, Unicode标准是2个字节表示一个字符,字符集包括: ASCII字符集,GBK字符集,Unicode字符集.

  • bytes: 二进制(互联网上数据都是以二进制的方式传输的)

  • str: unicode的呈现形式(utf-8)

  • str----encode编码--->bytes

  • bytes--decode解码--->str(编码方式和解码方式必须一样,否则就会出现乱码)

UTF-8是Unicode的实现方式之一(也是它的子集),是一种变长的编码方式,可以是1,2,3个字节.能用一个字节表示就用一个字节, Python2里面默认编码是ASCII,Python3是UTF-8的编码方式,就能够完美的解决各种各样的字符相关的问题.

 

  • Markdown   Atom  github上的一个开源的编辑器



day1重点

####爬虫定义:

    - 模拟浏览器发送网络请求,获取数据

####爬虫获取到的数据的两个用途

    - 直接展现

    - 数据分析

####不同的公司用爬虫干什么

    - 金融, 用爬虫爬取金融资讯网站的新闻, 企业信息,企业信用信息, (关于公司融资多少, 财富数据, 罚款,被调查,老板下台)

    - 旅游相关, 酒店, 机票, 景点门票, 餐饮价格信息

    - 电商, 商品信息和价格, JD, taobao, amazon, dangdang, 比价商品信息的对比分析

    - 房地产, 租房,抓取信息发布网站上的租房信息, 安居客, 链家租房价格等信息, 对比其他平台同个地段的价格, 帮助用户调整租房价格, 

      抓黑中介的信息 (房地产经纪公司销售或者门店经理的信息,名字电话, 后续如果有人注册了, 就可以知道这个人可能是黑中介, 通过手机号码判断出来, 还会爬豆瓣或者微博发布的房源信息, 还会爬一些黑中介的不好的评论, 怎么骗的过程, 找出来这条信息对应哪个公司, 整理一下, 在自己平台公布黑中介的公司)

    - 游戏, 抓不同论坛上面, 对这个游戏的反馈, 同类游戏的用户反馈, 对应可以调整优化我们的游戏, 攻略, 抓取Google play 游戏软件的下载量, 人气高的游戏放在自己app上, 还会爬别人的论坛上面关于这个游戏破解的攻略,教程,安装包都可以放在自己的服务器,数据库里面

    - 招聘, 招聘网站上的用人需求等信息

    

#### 聚焦爬虫

    - url  # 明确爬取哪些网站

    - 发送请求, 获取响应         --------> 提取url地址, 重新请求

    - 提取数据

    - 保存

#### 爬虫请求到的数据需要以当前的url地址对应的响应为准

  • 状态码 : 200 成功, 302重定向 , 404 资源不存在 , 500 服务器内部错误

  • 对方服务器如何通过cookie判断用户是否登录?

        - cookie存在本地, 因为浏览器发送请求的时候会把cookie带上(为了获取登录之后才能获取的页面)

        - 对方会通过cookie判断是否为爬虫

ps: 想打开一个干净的页面不携带任何cookie可以使用谷歌浏览器新建一个标签就可以了

爬虫基础(上)_第8张图片


  

长按下方二维码,识别公众号:爬虫基础(上)_第9张图片

本公众号长期提供各种免费视频学习资源,欢迎与作者相互探讨学习


公众号回复以下关键字获取相关视频教程:

python、django 、flask、数据分析、爬虫、大数据、量化金融、机器学习、深度学习、自然语言处理、人工智能


你可能感兴趣的:(爬虫基础(上))