采集全国航班信息

2025-10-28 14:53:07

1、选择【采集配置】,点击任务列表右上方【+】号可新建采集始爬离任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。科畜

采集入口地址为国内航班时刻网址,详耻廊见工具原料处。

采集全国航班信息

采集全国航班信息

1、列表链接需要脚本配置,操作如下图所示:

采集全国航班信息

2、查看页面源码,打开浏览器中该页面,点击F12,点击指针按钮,如下图所示,用指针按钮选中所需要的地点链接,这时在右侧出现对应源码内容。观察发现所需要的地点链接,在class为【p_l2】的节点后的class为【wq ws】的节点下的class为【fa_wk3】的节点中。

采集全国航班信息

3、根据以上思路,具体配置脚本如下,配置好脚本后点击右上角【保存】。

脚本文本如下:

var foor = DOM.FindClass("p_l2","div");//定义foor为class为【p_l2】的节点

var foora=DOM.FindClass("wq ws","div",foor );//定义foora为在foor节点后class为【wq ws】的节点

var raw = foora.child.next;//定义raw为foora的子节点的下一个节点,即class为【lm_t】的节点

var foorb=DOM.FindClass("fa_wk3","div",raw  );//定义foorb为在raw节点下class为【fa_wk3】的节点

while(foorb)

{

  url link;//定义一个url

  var foorc=foorb.child;//定义foorc为foorb节点的子节点

  while(foorc)

  {

    u=foorc.href;//定义u为foorc节点的href,即为地点对应的链接

    link.urlname=URL.StdUrl(URL.urlname,u);//返回链接为u

    link.title = DOM.GetTextAll(foorc);//返回链接名称为foorc中所有的文本内容

    link.tmplid = 2;//关联模板2

    foorc=foorc.next;//foorc为foorc的下一个节点

    RESULT.AddLink(link);

  }

  foorb = foorb.next.next.next;//foorb为foorb的下一个的下一个的下一个节点,即下一个class为【fa_wk3】的节点

}

采集全国航班信息

4、采集预览如下所示:

采集全国航班信息

1、链接抽取完成进入数据页,在模板02中,添加数据抽取,具体操作如下所示:

采集全国航班信息

2、此时要完成数据建表的工作:选择【数据建表】,点击【采集数据表结构】中的【+】,即可添加数据表,名称可以自定义,在此命名为房天下表单。

采集全国航班信息

3、数据表配置完成,选择【数据抽取】右侧数据属性配置,表单选择刚建立的数据表,则可看到表单中的字段在左侧显示。

采集全国航班信息

4、点击脚本窗口,选择数据抽取脚本

采集全国航班信息

5、观察所需字段在页面中的位置,浏览器打开任意一个地点分类的详情页,点击F12,点击指针按钮,如下图所示,用指针按钮选中所需要的字段信息,这时在右侧出现对应源码内容。

观察可发现,所需的航班数据就在class为【p_l2】后的class为【wq lq】的字节下的所有class那么为【li】的字节中。

采集全国航班信息

6、Tel字段:由图可知,本字段为classid为【AgentTel】的字段中的value属性值。

⑥根据上述结构,数据抽取脚本如下所示:

采集全国航班信息

7、脚本文本如下所示

var foor = DOM.FindClass("p_l2","div");//定义foor为class为【p_l2】的字节

var foora = foor.child.next;//定义foora为class为foor字节的子字节的下一个字节,即class为【wq lq】的字节

while(foora)

{

  var foorb =DOM.FindName("li",foora);//定义foorb为foora后idname为【li】的字节

  while(foorb)

  {

    var li= DOM.GetTextAll(foorb);//定义li为foorb字节下所有的文本内容,即MU9040(阿尔山-北京)

    record re;

    re.num = li.Left("(");//返回num值为li“(”左边的值,即MU9040

    re.From_ = li.Middle("(","-");//返回From_值为li","和-"中间的值,即阿尔山

    re.to_ = li.Middle("-",")");//返回to_值为li"-"和,"中间的值,即北京

    RESULT.AddRec(re,this.schemaid);

    foorb=foorb.next;//foorb为foorb下一个节点

  }

  foora=foora.next.next.next;//foora为foora的下一个的下一个的下一个节点

}

8、以上完成全部字段配置,效果预览如下:

采集全国航班信息

1、模板配置完成,采集预览没有问题后,可以进行数据采集。

首先要建立采集数据表:

选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为hangban(注意命名不能用数字和特殊符号),点击【确定】。

采集全国航班信息

2、选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。

采集全国航班信息

3、可以在【数据浏览】中,选择数据表查看采集数据,并可以导出数据。

采集全国航班信息

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢