如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据。

相关文章:
最简单的数据抓取教程,人人都用得上
web scraper 进阶教程,人人都用得上

如果你在使用 web scraper 抓取数据,很有可能碰到如下问题中的一个或者多个,而这些问题可能直接将你计划打乱,甚至让你放弃 web scraper 。

下面列出几种你可能会碰到的问题,并说明解决方案。

1、有时候我们想选择某个链接,但是鼠标点击就出触发页面跳转,如何处理?

在我们选择页面元素的时候,勾选 “Enable key”,然后鼠标滑到要选择的元素上,按下 S 键。

另外,勾选“Enable key” 后会出现三个字母,分别是 S、P、C,按 S 就是选择当前元素,按 P 就是选择当前元素的父元素,按 C 就是选择当前元素的子元素,当前元素指的是鼠标所在的元素。

2、分页数据或者滚动加载的数据,不能完全抓取,例如知乎和 twitter 等?

出现这种问题大部分是因为网络问题,数据还没来得及加载,web scraper 就开始解析数据,但是因为没有及时加载,导致 web scrpaer 误认为已经抓取完毕。

所以适当的调大 delay 的大小,延长等待时间,让数据有足够的时间加载。默认的 delay 是 2000,也就是 2 秒,可以根据网速调整。

但是,当数据量比较大的时候,出现数据抓取不完全的情况也是常有的。因为只要有一次翻页或者一次下拉加载没有在 delay 的时间内加载完成,那么抓取就结束了。

3、抓取的数据顺序和网页上的顺序不一致?

web scraper 默认就是无序的,可以安装 CouchDB 来保证数据的有序性。

或者采用其他变通的方式,我们最后会将数据导出到 CSV 格式,CSV 用 Excel 打开之后,可以按照某一列来排序,例如我们抓取微博数据的时候将发布时间抓取下来,然后再 Excel 中按照发布时间排序,或者知乎上的数据按照点赞数排序。

4、有些页面元素通过 web scraper 提供的 selector 选择器没办法选中?

造成这种情况的原因可能是因为网站页面本身不符合网页布局规范,或者你想要的数据是动态的,例如鼠标滑过才会显示的元素等,遇到这些情况就要借助其他方法了。

其实通过鼠标操作选择元素,最后就是为了找到元素对应的 xpath。xpath 对应到网页上来解释,就是定位某元素的路径,通过元素的种类、唯一标识、样式名称,配合上下级关系来找到某个元素或某一类元素。

如果你没有遇到这个问题,那就没有必要了解 xpath,等到遇到了问题再动手去学一下就可以。

这里只是说了几个使用 web scraper 的过程中常见的问题,如果你还遇到了其他的问题,可以在文章下面留言。

原文地址:web scraper 抓取网页数据的几个常见问题

还可以加我个人微信号 fengdezitai001,添加请说明来意以便备注。

web scraper 抓取网页数据的几个常见问题的更多相关文章

  1. 简易数据分析 11 | Web Scraper 抓取表格数据

    这是简易数据分析系列的第 11 篇文章. 今天我们讲讲如何抓取网页表格里的数据.首先我们分析一下,网页里的经典表格是怎么构成的. First Name 所在的行比较特殊,是一个表格的表头,表示信息分类 ...

  2. web scraper 抓取分页数据和二级页面内容

    如果是刚接触 web scraper 的,可以看第一篇文章. web scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据. ...

  3. web scraper 抓取数据并做简单数据分析

    其实 web scraper 说到底就是那点儿东西,所有的网站都是大同小异,但是都还不同.这也是好多同学总是遇到问题的原因.因为没有统一的模板可用,需要理解了 web scraper 的原理并且对目标 ...

  4. java抓取网页数据,登录之后抓取数据。

    最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一 ...

  5. Asp.net 使用正则和网络编程抓取网页数据(有用)

    Asp.net 使用正则和网络编程抓取网页数据(有用) Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </su ...

  6. 使用HtmlAgilityPack批量抓取网页数据

    原文:使用HtmlAgilityPack批量抓取网页数据 相关软件点击下载登录的处理.因为有些网页数据需要登陆后才能提取.这里要使用ieHTTPHeaders来提取登录时的提交信息.抓取网页  Htm ...

  7. c#抓取网页数据

    写了一个简单的抓取网页数据的小例子,代码如下: //根据Url地址得到网页的html源码 private string GetWebContent(string Url) { string strRe ...

  8. 使用JAVA抓取网页数据

    一.使用 HttpClient 抓取网页数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  9. 【iOS】正則表達式抓取网页数据制作小词典

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xn4545945/article/details/37684127 应用程序不一定要自己去提供数据. ...

随机推荐

  1. asp.net 六大对象之Request、Response

    ASP.NET的六大对象,本质上只是 Context 里面的属性,严格上不是对象. 1.Request-->读取客户端在Web请求期间发送的值 2.Response-->封装了页面执行期后 ...

  2. Runc 简介

    RunC 是什么? RunC 是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,并且这一件事要做好.我们可以认为它就是个命令行小工具,可以不用通过 docker 引擎,直接运行容器.事实上,r ...

  3. (WCF初体验)WCF服务器诊断

    WCF服务器搭建好之后,不管是客户端访问还是本地调试,出个问题抛出来的原因往往在我们看来都是不知所以然的,更可能是跑出来的问题和真正的问题差了很远,比如"通信对象 System.Servic ...

  4. Day2 《机器学习》第二章学习笔记

    这一章应该算是比价了理论的一章,我有些概率论基础,不过起初有些地方还是没看多大懂.其中有些公式的定义和模型误差的推导应该还是很眼熟的,就是之前在概率论课上提过的,不过有些模糊了,当时课上学得比较浅. ...

  5. 安装mysql5.5.28的步骤 2017.6.27

    http://blog.sina.com.cn/s/blog_7cd69a6501014x7h.html

  6. HTTPS加密原理

    http(超文本传输协议) 一种属于应用层的协议 缺点: 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 优点: 传输速度快 ...

  7. 深浅拷贝,原生和JQuery方法实现

    7-17: 1:e.target.parentNode.remove();成功,查询一下JS原生的remove方法 2:复习JS DOM的原生操作方法,比如innerHTML(),insertBefo ...

  8. eclipseIDE for javaee developers 开发环境搭建详解图文

    使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...

  9. VS2012中出现“无法启动程序...debug\abc.exe,系统找不到指定文件”的问题!

    VS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打 ...

  10. 关于CSS定位属性 position 的使用

    CSS中一般通过浮动和定位来对标签进行位置操作.下面我们来讨论一下定位的用法和需要注意的地方. 1.首先,说一下position的几个属性值 (1)none属性值,这个是定义不进行定位,默认为不定位, ...