web scraper 抓取网页数据的几个常见问题
如果你想抓取数据,又懒得写代码了,可以试试 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 抓取网页数据的几个常见问题的更多相关文章
- 简易数据分析 11 | Web Scraper 抓取表格数据
这是简易数据分析系列的第 11 篇文章. 今天我们讲讲如何抓取网页表格里的数据.首先我们分析一下,网页里的经典表格是怎么构成的. First Name 所在的行比较特殊,是一个表格的表头,表示信息分类 ...
- web scraper 抓取分页数据和二级页面内容
如果是刚接触 web scraper 的,可以看第一篇文章. web scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据. ...
- web scraper 抓取数据并做简单数据分析
其实 web scraper 说到底就是那点儿东西,所有的网站都是大同小异,但是都还不同.这也是好多同学总是遇到问题的原因.因为没有统一的模板可用,需要理解了 web scraper 的原理并且对目标 ...
- java抓取网页数据,登录之后抓取数据。
最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一 ...
- Asp.net 使用正则和网络编程抓取网页数据(有用)
Asp.net 使用正则和网络编程抓取网页数据(有用) Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </su ...
- 使用HtmlAgilityPack批量抓取网页数据
原文:使用HtmlAgilityPack批量抓取网页数据 相关软件点击下载登录的处理.因为有些网页数据需要登陆后才能提取.这里要使用ieHTTPHeaders来提取登录时的提交信息.抓取网页 Htm ...
- c#抓取网页数据
写了一个简单的抓取网页数据的小例子,代码如下: //根据Url地址得到网页的html源码 private string GetWebContent(string Url) { string strRe ...
- 使用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 ...
- 【iOS】正則表達式抓取网页数据制作小词典
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xn4545945/article/details/37684127 应用程序不一定要自己去提供数据. ...
随机推荐
- HTML结构及基础语法
一.HTML结构 <!DOCTYPE html><html lang="en"><head> <meta charset="UT ...
- Jmeter 测试工具
Jmeter的基本概念 百度百科: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可 ...
- iOS 中判断应用程序是否为第一次打开
第一步:在AppDelegate中当应用启动完成后加入一下代码: - (BOOL)application:(UIApplication *)application didFinishLaunching ...
- RESTful规范
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...
- ECS上搭建Docker(CentOS7)
本文讲述Docker在CentOS系统上的部署过程.Ubuntu系统下安装docker,您可以点击此处查看.更多详细的实践您可以参考docker实践文档 适用对象 适用于熟悉Linux操作系统,刚开始 ...
- 如何将数据库中存的树转化为树形列表(以easyui的tree为例)
很多时候,我们会把一棵树存放到数据库中,当前台需要展示一个树形列表时,将这棵树读取出来并显示,这个过程是怎么实现的呢? 这篇文章是以构造一棵easyui前台框架的一个树形列表为例,后台框架是sprin ...
- python - hash类型操作
Redis在内存中存储hash类型是以name对应一个字典形式存储的 常用操作 在name对应的hash中获取根据key获取valuehget(name,key) 在name 对应的hash 中设备键 ...
- itchat库初探--微信好友全头像的拼接
代码: import itchat import math import PIL.Image as Image import os itchat.auto_login() friends = ...
- Hibernate 操作数据库
com.tao.pojo实体类 package com.tao.pojo; public class User { private int id; private String name; priva ...
- BZOJ_1266_[AHOI2006]上学路线route_最小割
BZOJ_1266_[AHOI2006]上学路线route_最小割 Description 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校.直到有一天他们两人参加了学校的信 ...
