《PYTHON3网络爬虫开发实践》——第二章 爬虫基础

第二章 爬虫基础

  • URI:Uniform Resource Identifier,即统一资源标志符。

    URL:Uniform Resource Locator,即统一资源定位符。

    URN:Uniform Resource Name,即统一资源名称。

    image-20190218100543975

  • 超文本:网页的源代码HTML就可以称作超文本。F12检查查看。

  • 协议类型:http, https, ftp, sftp, smb等。

    http与https不同是后者是经过SSL加密的。(未加密网页如12306“您的连接不是私密连接”)

  • HTTP请求:

    image-20190218100935489

  • DOM

    英文全称:Document Object Model,即文档对象模型。它定义了访问HTML和XML文档的标准。

    W3C DOM标准被分为3个不同的部分。

    • 核心DOM:针对任何结构化文档的标准模型。
    • XML DOM:针对XML文档的标准模型。
    • HTML DOM:针对HTML文档的标准模型。

    根据W3C的HTML DOM标准,HTML文档中的所有内容都是节点。

    • 整个文档是一个文档节点。
    • 每个HTML元素是元素节点。
    • HTML元素内的文本是文本节点。
    • 每个HTML属性是属性节点。
    • 注释是注释节点。

    HTML DOM将HTML文档视作树结构,这种结构被称为节点树,如图2-11所示。

    image-20190218101852802

    通过HTML DOM,树中所有节点均可通过JavaScript访问,所有HTML节点元素均可被修改,也可以被创建或删除。

    节点树中的节点彼此拥有层级关系。父、子、兄弟等术语。

  • CSS选择器

    image-20190218102224736

    image-20190218102254763

  • 爬虫的通俗易懂的解释

    我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被
    抓取下来了。
    简单来说,爬虫就是获取网页并提取和保存信息的自动化程序。

  • 静态网页和动态网页

    静态网页的缺陷,比如想给网页的URL传入一个name参数,让其在网页中显示出来,是无法做到的。因此动态网页应运而生,可以动态解析URL中参数的变化,关联数据库并动态呈现不同的页面内容。不仅仅是HTML,还可以是JSP、PHP、Python等。还可以实现用户登录和注册的功能。

  • 无状态HTTP

    HTTP的无状态是指HTTP协议对事务处理是没有记忆能力的,也就是缺少状态记录。这意味着如果后续需要处理前面的信息,则必须重传,重复请求,然而这种效果显然不是我们想要的,这太浪费资源了,对于这种需要用户登录的页面来说,更是棘手。

    这时两个用于保持HTTP连接状态的技术就出现了,它们分别是会话和Cookies。会话在服务端,也就是网站的服务器,用来保存用户的会话信息; Cookies 在客户端,也可以理解为浏览器端,有了Cookies,浏览器在下次访问网页时会自动附上它发送给服务器,服务器通过识别Cookies并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应。
    我们可以理解为Cookies里面保存了登录的凭证,有了它,只需要在下次请求携带Cookies 发送请求而不必重新输人用户名、密码等信息重新登录了。因此在爬虫中,有时候处理需要登录才能访问的页面时,我们一般会直接将登录成功后获取的Cookies放在请求头里面直接请求,而不必重新模拟登录。

  • 如何查看cookies?

    开发者工具——Application——storage——cookies(P110)

    image-20190218110523164

    会话Cookie和持久Cookie
    从表面意思来说,会话Cookie就是把Cookie放在浏览器内存里,浏览器在关闭之后该Cookie即失效;持久Cookie则会保存到客户端的硬盘中,下次还可以继续使用,用于长久保持用户登录状态。其实严格来说,没有会话Cookie和持久Cookie之分,只是由Cookie的Max Age或Expires字段决定了过期的时间。
    因此,一-些持久化登录的网站其实就是把Cookie的有效时间和会话有效期设置得比较长,下次我们再访问页面时仍然携带之前的Cookie,就可以直接保持登录状态。

  • 代理

    Proxy server。为了防止封IP而使用代理。

    基本原理:代理网络用户去取得网络信息。实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向Web服务器发起请求,而是向代理服务器发出请求,请求会发送给代理服务器,然后由代理服务器再发送给Web服务器,接着由代理服务器再把Web服务器返回的响应转发给本机。这样我们同样可以正常访问网页,但这个过程中Web服务器识别出的真实IP就不再是我们本机的IP了,就成功实现了IP伪装。

    各种代理:FTP代理服务器、HTTP代理服务器、SSL/TLS服务器、RTSP代理、Telnet代理、POP3/SMTP代理、SOCKS代理等。高度匿名代理、普通匿名代理、透明代理、间谍代理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值