如果你想抓取数据,又懒得写代码了,可以试试 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. 佛祖镇楼,BUG避易

    def FZZL(): print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") ...

  2. python爬虫入门(一)urllib和urllib2

    爬虫简介  什么是爬虫? 爬虫:就是抓取网页数据的程序. HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的 ...

  3. js动态计算移动端rem适配问题

    第一:css3的media query来实现适配,例如下面这样: 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 2 ...

  4. Mac--Homebrew简介及安装

    Homebrew官网:https://brew.sh/index_zh-cn.html 参考:http://www.jianshu.com/p/d229ac7fe77d 关于Homebrew Mac ...

  5. Maven学习(七)-- 使用Maven构建多模块项目

    摘自:http://www.cnblogs.com/xdp-gacl/p/4242221.html 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为doma ...

  6. PAT1051:Pop Sequence

    1051. Pop Sequence (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a ...

  7. 最简单易懂的SpringCloudSleuth教程

    事务mapjvm 大佬对下面的说法是否同意呢 能否比较下zipkin,pinpoint,以及skywalking.该如何选型 回答: 他们都提供了分布式服务跟踪的能力,pinpoint以及skywal ...

  8. day14_DBUtils学习笔记

    一.DBUtils介绍 Apache公司开发的框架. 什么是dbutils?它的作用?   DBUtils是java编程中的数据库操作实用工具,小巧简单实用.   DBUtils封装了对JDBC的操作 ...

  9. mysql(mariadb)如何更改root密码

    mysql(或者mariadb,她是mysql的一个分支,完全开源,新版本的linux系统默认安装的是mariadb)如何更改root密码呢?我们主要介绍命令mysqladmin来实现. mysql( ...

  10. util.go 源码阅读

        }     h := md5.New()     baseString, _ := json.Marshal(obj)     h.Write([]byte(baseString))      ...