美文网首页
爬虫课程笔记二

爬虫课程笔记二

作者: wonkey | 来源:发表于2018-07-11 16:58 被阅读0次

     第二次课程通过模拟登录微信,了解了轮询问和长轮询,通过多进程,多线程,协程等方式实现快速的爬虫。

     轮询:我的理解是不断的询问。每隔固定的时间都向服务器发送请求,服务器马上返回响应。这种方式可能会有延迟。比如每2秒向服务器发送一个请求,在这2秒之间若有新消息,服务器是不能主动响应给客户端的,只能等下一次客户端向服务器发送请求的时候了。所以最长可能有2秒的时间延迟。

      长轮询:也是不断的向服务器发送请求。与轮询不同的是,若没有消息,服务器不马上返回响应。而是将响应hang住一段时间。在这段时间内,一旦有消息,马上返回请求。若没有消息,这段时间结束后返回响应。

       长轮询相比轮询的优势在于,长轮询没有延迟。一旦有新消息,服务器会马上响应给客户端。长轮询一般在前端通过ajax实现。轮询和长轮询一般在实时聊天里比较多见。

      爬虫是一种IO密集型程序。我们的爬虫程序在发送请求,等待响应的这段时间内,程序就阻塞起来,什么都没有做。大部分时间都在处理IO,很浪费。所以可以利用多进程,多线程,协程等方式并发爬取,提高爬虫的效率。现在有gevent,threading,multiprocess,ascycio等模块提供了封装,可以方便优雅的书写高并发的爬虫程序。

        爬虫的本质还是利用socket通信,http协议得好好学啊。http协议是无状态的,事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来。但是,发送完,服务器不会记录任何信息。为了标识请求的状态,服务器端出现了session,客户端出现了cookie技术。我们发送请求的时候,需要保持响应的cookie,便于服务器识别发送请求的是谁,请求处在哪个状态。我用微信接收消息的时候,老是不对,不知道是不是cookie出了问题。期待在后面的课程中找出正确答案。

相关文章

  • 爬虫课程笔记二

    第二次课程通过模拟登录微信,了解了轮询问和长轮询,通过多进程,多线程,协程等方式实现快速的爬虫。 轮询:我...

  • 爬虫课程笔记

     听了老师的爬虫课,挺有收获。爬虫的原理很简单,本质上还是模拟浏览器发送HTTP请求。请求分请求头和请求体,请求头...

  • 大师兄的Python学习笔记(二十二): 爬虫(三)

    师兄的Python学习笔记(二十一): 爬虫(二)大师兄的Python学习笔记(二十三): 爬虫(四) 四、保存数...

  • 数据分析课程笔记 - 08 - 爬虫(二)

    大家好呀~这节课我们继续学习爬虫的基础知识。上节课我们学习了resquest、response 和 Xpath 的...

  • 爬虫学习笔记

    本篇笔记主要记录学习哔站up主:IT私塾的课程《Python爬虫基础5天速成(2021全新合集)Python入门+...

  • 晨鹿07days提交#裂变增长实验室#

    一、课程笔记 二、作业

  • 分布式爬虫笔记(三)- 分布式存储

    分布式存储 分布式的存储包括网页文件的存储和爬虫队列的存储,在前面分享的分布式爬虫笔记(二)- 多线程&多进程爬虫...

  • Node爬虫相关

    网络爬虫开发 第1章 课程介绍 什么是爬虫 爬虫的意义 课程内容 前置知识 什么是爬虫 可以把互联网比做成一张“大...

  • 2018.02.18打卡

    1.1.早上学到爬虫第二节1h 20min。(完成)1.2.晚上学完爬虫第二节的课程。(完成) 2.1.早上阅读《...

  • 认识爬虫

    前言 我的爬虫笔记 经常看别人通过爬虫分析数据,很有意思,来了兴趣,就开始了爬虫之路。 爬虫 爬虫,即网络爬虫,大...

网友评论

      本文标题:爬虫课程笔记二

      本文链接:https://www.haomeiwen.com/subject/mtahpftx.html