zoukankan      html  css  js  c++  java
  • 爬虫从入门到放弃

    网络爬虫,又称为网络蜘蛛(WebSpider),就是把整个互联网想象成一个蜘蛛网,这只爬虫在上面爬来爬去,来捕获我所需要的资源。也就是请求网站并提取数据的自动化过程。

    爬虫的基本流程

    简单的来说分为四步

    1、发起请求:

    通过HTTP库向目标站点发起请求,即发送一个request,请求可以包含额外的headers等信息,等待服务器响应。

    2、获取响应内容

    如果服务器能正常响应,会得到一个Response,Response的内容是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。

    3、解析内容

    得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。

    4、保存数据

    保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。

    Request中包含了哪些?

    1、请求方式

    主要有GET/POST两种类型

    2、请求头

    包含请求时的头部信息,如User-Agent、Host、Cookies等信息

    3、请求URL

    URL全称统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定

    4、请求体

    请求时额外携带的数据,如表单提交时的表单数据

    Response中包含了哪些?

    1、响应状态

    有多种响应状态,如200代表成功、301跳转、404找不到页面、502服务器错误

    2、响应头

    如内容类型、内容长度、服务器信息、设置Cookies等等

    3、响应体

    最主要的部分,包含了请求资源的内容,如网页HTML、图片二进制数据等。

    能抓怎样的数据?

    1、网页文本

    如HTML文档、Json格式文本等。

    2、图片

    获取到的是二进制文件,保存为图片格式。

    3、视频

    二进制文件,保存为视频格式即可。

  • 相关阅读:
    Java容器-引用分类与部分Map用法
    Java容器-引用数据类型排序+TreeSet、TreeMap底层实现
    JAVA容器-重点总结与深度解析
    JAVA容器-浅谈HashMap的实现原理
    JAVA容器-模拟LinkedList实现(双链表)
    JAVA容器-模拟ArrayList的底层实现
    在代码动态设置RelativeLayout的属性,比如layout_below
    java substring
    String StringBuffer StringBuilder
    线性布局通过适配器可以动态加载view
  • 原文地址:https://www.cnblogs.com/yronl/p/8984030.html
Copyright © 2011-2022 走看看