美文网首页
webmagic高级:(二)

webmagic高级:(二)

作者: 沙漏如心 | 来源:发表于2018-03-16 12:53 被阅读0次

           这个篇呢,我们主要说这个Page 对象,使用过webmagic 的人呢,都知道Page对象呢。是在download里面产生,是根据发送请求,而接收到的参数,而进行拼接的一个对象。这个对象呢,是经过一系列封装的,而如果,你想要是用webmagic 这个框架呢,Page 这个对象就是你永远逃不掉的一个!

Page

  他在源码中所处的呢,是一个这样子的位置!

private Requestrequest;//每一个页面,是由那个Request产生的

private ResultItems resultItems =new ResultItems();//每个页面,你所解析出来的数据

private Html html;//这个页面里面的html

private Json json;//这个页面的json  备注: 不是说,会把html里面的json单数抽出来,而是说,如果你请求的是一个html页面的话,你就应该从html连获取,而如果你请求的是一个接口的话,你就应该从这个里面解析你想要的数据

private String rawText;//整个页面的文本档案

private Selectable url;//url地址 

private Map> headers;//http协议

private int statusCode = HttpConstant.StatusCode.CODE_200;// 页面返回状态码,默认是200

private boolean downloadSuccess =true;//页面是否下载成功

private byte [] bytes;//页面字节(响应流)

private List  targetRequests =new ArrayList();//有时候呢,如果你是发送多个请求才能拿到一个页面,这个或许就有点用处了!

private String  charset;//页面的编码格式

 上面呢,就是我对Page对象的一些参数的自己理解!

public Page() {//Page对象的构造方法,证明new Page()  是可以的

public static Page fail(){//这个方法呢,也是获取一个Page,唯一跟new的区别呢,里面把downloadSuccseeful 这个属性,设置为失败了!  个人建议,各位在重写download,等一系列等需要创建Page时,使用这个方法!

public Page setSkip(boolean skip) {// 设置是否跳过,适用于多个请求才能拼接成一个页面的情况

public Html  getHtml() {//获取页面的html

public Json  getJson() {//获取页面的json

public void setHtml(Html html) {//设置页面的html

public List  getTargetRequests() {//获取请求

public void addTargetRequests(List requests) {//将一个list 重新加入队列

public void addTargetRequests(List requests, long priority) { //将一个list 重新加入队列,并设置优先度

public void addTargetRequest(String requestString) {//单独加入url到队列

public void addTargetRequest(Request request) {//单独加入request

public Selectable  getUrl() {//获取url

public void setUrl(Selectable url) {//设置URl

public Request  getRequest() {//获取请求参数

public void setRequest(Request request) {//设置请求

public ResultItems  getResultItems() {//获取拿到的参数

public int getStatusCode() {//获取请求的status

public void setStatusCode(int statusCode) {//设置请求的status

public String getRawText() {//获取请求的原始文案

public Page setRawText(String rawText) {//设置原始文案

public Map getHeaders() {//获取http协议

public void setHeaders(Map> headers) {//设置http协议

public boolean isDownloadSuccess() {//页面是否下载成功

public void setDownloadSuccess(boolean downloadSuccess) {//设置页面是否下载成功

public byte[] getBytes() {//获取字节

public void setBytes(byte[] bytes) {//设置字节

public String  getCharset() {//获取页面的编码格式

public void setCharset(String charset) {//设置页面的编码格式

public StringtoString() {//toString()

   在这里呢,我私人的建议由两个,第一个就是在获取页面的时候,调用fail() 方法

   第二个呢,就是当你为Page设置json(Html)的时候呢,你可以使用setRawText() 方法,这样子,当你获取json,或者html,他会自己进行判断的,可以省去一点时间,另外rawTets,貌似是不可以为空的!!!!

     上面呢,就是webmagic框架的Page对象了,如果有什么疑问的话,可以找我!

https://blog.csdn.net/qq_36783371  一个大佬写的博客,欢迎去砸鸡蛋!

相关文章

  • webmagic高级:(二)

    这个篇呢,我们主要说这个Page 对象,使用过webmagic 的人呢,都知道Page对象呢。是在dow...

  • webmagic高级:(一)

    我们在前面的一些内容里面大概的讲述了一下,我对这个webmagic爬虫框架的一些了解,以及对整个爬虫的一些...

  • webmagic高级:(五)

    这个呢,也就是我对webmagic 做的最后一篇的内容了,在这个里面我打算说很多的的对象,只不过这些对象内容较为简...

  • webmagic高级:(三)

    这一篇呢,我们看看Site 这个对象! Site 作为Webmagic 的一个重要对象,却永远是呗最先忽略掉的一个...

  • webmagic高级:(四)

    本篇呢,本来打算写一下,pipeline里面的ResultItems对象,但是呢,简单看了一下,里面东西...

  • WebMagic指北

    WebMagic指北 一、快速开始 WebMagic主要包含两个jar包:webmagic-core-{versi...

  • java爬虫基础--webmagic

    java爬虫--webmagic 整理自尚硅谷教学内容 一、webMagic的总体介绍 WebMagic的结构分为...

  • WebMagic+Spring Boot爬取网易云音乐评论

    关于WebMagic WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个...

  • 爬虫框架webmagic与spring boot的结合使用

    1. 爬虫框架webmagic WebMagic是一个简单灵活的爬虫框架。基于WebMagic,你可以快速开发出一...

  • webmagic中级(二)

    上一篇呢,我们说了pipeline 数据管道,这下呢,我们就来了解一下这个download,看看这些个数据呢,到底...

网友评论

      本文标题:webmagic高级:(二)

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