当成功爬取到的网页数据中有很多不相干的html广告标签时, 你是否会感到无可奈何, 有时候即使将XPath的效果发挥到极致, 也无法去掉顽固的html广告标签, 咋整呢?
本节给你介绍通过selector类的remove方法去除html广告标签, 可提取有用数据或清理无用数据.
举个栗子:
在爬取某论坛问答帖时, 发现有很多html广告标签以及一些无用数据, 就需要在on_extract_field回调函数中调用selector的remove方法了
$configs = array(// configs的其他成员...'fields' => array(array('name' => "question_detail",'selector' => "XXX",),),
);
$spider->on_extract_field = function($fieldname, $data, $page)
{if ($fieldname == 'question_detail') {// 将data中符合XPath: "//div[contains(@class,'a_pr')]"的数据去掉$data = selector::remove($data, "//div[contains(@class,'a_pr')]");return $data;}
};
有时, 如果无用数据太多, 最好调用selector的select方法直接将有用的数据提取出来, 这么做会比调用remove方法更加方便.

phpspider中当爬虫获取数据时如何去掉广告相关推荐

  1. vue定时ajax获取数据,vue 中使用 AJAX获取数据的方法

    在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...

  2. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  3. Python学习——(2)通过网络爬虫获取数据

    通过网络爬虫获取数据 1. 和爬虫有关的HTTP ​ HTTP是网络数据通信的基础.在本节中会围绕Python网络爬虫讲述常用HTTP知识点. 1.1 基于HTTP的请求处理流程 ​ 当用户在浏览器的 ...

  4. eclipse读取mysql数据乱码_eclipse从数据库获取数据时控制台乱码问题

    最近在学习HQL的时候,想从数据库获取数据时eclipse控制台乱码,一开始以为是控制台设置的编码有问题,然后就修改了控制台的编码,run->run Configurations->com ...

  5. vue 读取ajax数据,详解vue 中使用 AJAX获取数据的方法

    在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...

  6. (vue)在ajax获取数据时使用loading组件不起作用

    问题描述: 在用ajax获取数据时 页面没有变化,想用一个loading图标在获取数据时显示,获取完成后隐藏 整个系统用到了vue框架,在执行sure方法时调用ajax函数 sure() {conso ...

  7. 请求头没有origin参数_在尝试从REST API获取数据时,请求的资源上没有“Access-Control-Allow-Origin”标头...

    在尝试从REST API获取数据时,请求的资源上没有"Access-Control-Allow-Origin"标头 我试图从HP Alm的REST API中获取一些数据. 它用一个 ...

  8. 尝试从REST API获取数据时,请求的资源上没有“ Access-Control-Allow-Origin”标头

    本文翻译自:No 'Access-Control-Allow-Origin' header is present on the requested resource-when trying to ge ...

  9. WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案

    WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案 参考文章: (1)WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案 (2)https://www.cnbl ...

最新文章

  1. FFmpeg中libswresample库简介及测试代码
  2. input上传文件夹第二次时删除第一次_Web端非常有用的一个文件上传插件——FilePond...
  3. HTTPS协议之SSL/TLS协议四次握手
  4. 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理...
  5. VC从文件中加载图片
  6. 第十六期:Vue 3.0 前瞻,体验 Vue Function API
  7. 什么是ioc(控制反转)什么是di(依赖注入)
  8. 数据库的基本概念(三大范式,数据)
  9. activemq概念介绍
  10. php 盗链新浪图片_php实现博客,论坛图片防盗链的方法
  11. 图片转字符画,GIF动画转GIF字符动画
  12. 特网云服务器 Windows自动更新相关配置
  13. 云数据库RDS和对象存储OSS
  14. C语言估算数学常量e,数学常数e
  15. FileNotFoundException(io流文件拒绝访问)
  16. 2016.3.18华为上机题:拼音转数字
  17. 键盘怎么一按f1就出计算机,电脑每次开机都要按F1键,且开机后都会弹出一个打开方式的窗口,请问该怎么处理?...
  18. 热爱生活的人请过来看看:有没有通过叶子或花来识别植物的软件?
  19. Halcon17完美破解兼容17.12.0.0附破解说明
  20. easyexcel已存在的excel里追加数据

热门文章

  1. 内网渗透(一)之基础知识-内网渗透介绍和概述
  2. 智能手机操作系统:小众的价值
  3. Web3 元宇宙去中心化身份系统的未来
  4. 手用计算机电池,用BatteryCare正确管理二手笔记本的电池
  5. 用ESP学习单片机之Arduino_Esp-32s获取2.8‘‘TFT LCD屏幕的触摸数据_ILI9341_SPI_XPT2046
  6. 计算机网络自顶向下方法(第六版) 课后题答案 | 第一章
  7. cdo收取邮件_使用 CDO 发送测试电子邮件消息
  8. 分享:nuxt个性化特定页面的 Meta 标签
  9. 同1 python变量可以先后赋予不同类型的值_【判断题】同一Python变量可以先后赋予不同类型的值。...
  10. 广州python培训机构推荐