前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫基本介绍

爬虫基本介绍

作者头像
xbhog
发布2019-10-22 17:15:06
4090
发布2019-10-22 17:15:06
举报
文章被收录于专栏:开发技能乱炖

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43908900/article/details/102537238

爬虫介绍

前言:该系列为爬虫基础,适合没有接触过python或刚刚起步的同学,如有错误,欢迎指出。


–爬虫的定义:

通过编写程序,模拟浏览器行为访问网页,获取互联网上的数据,也称为蜘蛛,如:百度;谷歌,都是爬虫。

注意:

  • 爬虫是python的一个分支或者说方向,个人自学python(爬虫)两年,从0-1,一步一步走来,明白其中的辛苦,若你没有大毅力,就不要自学了;给初学者的建议:第一语言不要学习python,(个人见解,不喜勿喷)。

–爬虫的分类:

  1. 通用爬虫:获取的只是一个url(网址)下的页面数据;
  2. 聚焦爬虫:根据指定的需求获取页面中指定的局部数据;
  3. 增量式爬虫:用来监测网站数据更新的情况。

–概念混淆:

  • 反爬机制:网站可以采用相关的技术手段或者策略阻止爬虫对网站的数据获取(代码报错)。
  • 反反爬策略:让爬虫程序伪装(破解)网站限制并获得数据。

–robots协议:君子协议,里面限制了哪些可爬,哪些不可爬,但是你可以不用遵守。

  • 如淘宝下的robots.txt : https://www.taobao.com/robots.txt

–爬虫流程的概括:

  1. 获取网页源码 ===》urllib、requests
  2. 提取所需要的业务数据 ==》BeautifulSoup、xpath、css选择器、pyquery
  3. 保存数据 ===》 json、csv、txt(文件存储)等;
  4. 自动化程序

–URL(统一资源定位符,俗称网址)

  • URL的全称感兴趣的可以了解一下,我们主要解释一下它是做什么的,我们每天网上冲浪,百度了解一下,我们在浏览器的输入框=》www.baidu.com 这就是url。
  • 如:https://github.com/favicon.ico,我们用URL来唯一指定它的访问方式,这其中包括了访问协议https、访问路径和资源名称,通过这样的链接,我们便可以从互联网上找到资源,这就是url.

–超文本(HTML)

  • 你打开一个网址如:www.baidu.com;你所看见的页面正是通过html以及其他的语言渲染出来的,我们右击->查看网页源代码;或者按F12你会发现有代码出现,里面就包括HTML代码。

–HTTP/HTTPS协议介绍

  • 概念:HTTP协议就是服务器端(网站的服务器)与客户端(自己的电脑)之间进行数据交互的一种方式。
  • HTTP工作原理:HTTP协议工作在客户端-服务端交媾之上的;浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求;Web服务器根据接收到的请求后,向客户端发送响应信息。
    1. 常见的请求头信息: accept:浏览器通过这个头告诉服务器,它所支持的数据类型Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集 Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式 Accept-Language:浏览器通过这个头告诉服务器,它的语言环境 Host:浏览器通过这个头告诉服务器,想访问哪台主机 If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间 Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链 Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接 X-Requested-With: XMLHttpRequest 代表通过ajax方式进行访问 User-Agent:请求载体的身份标识
    2. 常见的响应头信息: Location: 服务器通过这个头,来告诉浏览器跳到哪里 Server:服务器通过这个头,告诉浏览器服务器的型号 Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式 Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度 Content-Language: 服务器通过这个头,告诉浏览器语言环境 Content-Type:服务器通过这个头,告诉浏览器回送数据的类型 Refresh:服务器通过这个头,告诉浏览器定时刷新 Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据 Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的 Expires: -1 控制浏览器不要缓存
  • 关于怎么查看请求头信息/响应头信息,我会在后面出专门的文章来解惑。
  • 关于HTTPS协议定义:HTTPS 安全超文本传输协议,HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。
  • HTTPS的加密算法算法包括(简略):
    1. 对称密钥加密
    2. 非对称密钥加密
    3. 证书密钥加密

–cookies简单介绍介绍

  • Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据;
  • 浏览器需要保存这段数据,不得轻易删除;
  • 此后每次浏览器访问该服务器,都必须带上这段数据,这样才能证明你就是你;
  • 详情了解请自行百度,后续会介绍cookies的用法。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 爬虫介绍
    • 前言:该系列为爬虫基础,适合没有接触过python或刚刚起步的同学,如有错误,欢迎指出。
    相关产品与服务
    文件存储
    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档