Java爬虫学习(二)

Java爬虫学习(二)


前言

记录学习内容,由领航学长讲解爬虫知识


一、HTTP协议(HyperText Transfer Protocol,超文本传输协议)

介绍

最初是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。用于从WWW服务器传输超文本到本地浏览器的传送协议。
HTTP是一个客户端(用户)和服务端(网站)之间请求和应答的标准,通常使用TCP协议。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像,视频等。

内容

  • 请求网址(URL)
  • 请求方法(Get, Post…)
  • 请求头, 请求体
  • 响应头,响应体
  • 响应码:
    1xx消息——请求已被服务器接收,继续处理
    2xx成功——成功响应,常见的有200
    3xx重定向——常用于页面跳转
    4xx请求错误——请求含有有错误,例如404表示页面不存在
    5xx服务器错误——服务器发生错误,服务器本身的问题

二、网页基本知识

介绍

用Html编写,定义网页的结构,由文字,图片,视频,音频…组成,用标签进行包装。本质上是一个文本资源文件。CSS进行渲染,JS进行交互。


三、爬虫基本原理

介绍

程序模拟浏览器, 发送http请求, 获取响应数据,按照需求进行操作存储等等。

环境配置

第三方库:

  • Apache HttpClient » 4.5.13
  • WebMagic Core » 0.7.4
  • JSoup Java HTML Parser » 1.13.1
  • JsoupXpath » 2.4.3
  • Selenium Java » 3.141.59

Maven仓库的地址:http://mvnrepository.com/
Maven安装

四、实战

具体代码

具体可以看我的博客:Java爬虫学习(一)
完整代码:https://gitee.com/abab45152/Spider

五、补充

Robots协议

比较正规的网站,根目录下的robots.txt文件,规定了爬虫能访问,不能访问的区域。是一种道德约束。
我们平时训练,仅供学习交流!
例如淘宝网:
在这里插入图片描述

动态渲染页面的爬取

动态渲染的页面其实包括两类:①ajax请求②直接写在html中的js代码,例如可以是一些计算值
第一类:

  1. 分析ajax请求(难度较大,有时候还需要你学会调试前端js代码)
  2. 使用htmlunit这个第三方库,利用其提供的方法,可以直接加载js渲染后的html页面!
  3. 使用selenium库,几乎是万能的方法,直接操作浏览器,自动化太强了。
    第二类:
    自己模拟计算结果,它是怎么加数据的,程序就怎么加
    第一类的2,3

Cookie的利用

例如我想获取教务处的成绩信息,则先需要模拟登录。利用登录后的结果(本地有Cookie),来进一步获取信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值