这里介绍2个免费的爬虫工具—Excel和八爪鱼,不需要写任何代码,就能实现对网络数据的爬取,下面我简单介绍一下这2个工具是如何爬取网络数据的,主要内容如下:
1.Excel爬取数据:Excel这个办公工具大部分人都应该听说过,日常的表格制作、数据统计,经常会用到,但是说起利用Excel爬取网络数据,这个使用的人应该不多,下面我简单介绍一下Excel是如何爬取数据的,主要步骤如下,这里以office2016为例:
这里以抓取http://www.pm25.in/rank上的pm2.5数据为例,如下:
首先,新建一个Excel表格,如下,依次点击“数据”->“自网站”,如下:
接着在弹出的窗口中输入要爬取的网站链接地址,点击“跳转”,就会自动跳转到对应页面,接着点击“导入”,就会自动导入网页数据,如下:
成功导入后的数据如下,也就是我们需要爬取的网络数据:
这里也可以设置定时刷新的频率,定时刷新数据,如下,点击“属性”,就会弹出如下对话框,直接设置刷新频率就行:
2.八爪鱼爬取数据:这是一个免费的网络采集工具,不需要写任何代码,完全可视化操作,使用简单,文档丰富,用户只需简单的点击、选中,就能实现对绝大多数网站数据的爬取,下面我简单介绍一下这个工具的安装和使用:
安装八爪鱼,这个直接到官方下载就成,免费,很快就能下载完成,完成后,直接双击安装就行:
这里以爬取58上的招聘数据为例,如下:
首先,打开八爪鱼软件,点击“任务”,输入网址,就会打开爬取的页面,如下:接着我们选中需要采集的条目,如下,随便点击一个就行:
然后在右上角的“操作提示”中依次点击“选中子元素”->“选中全部”->“采集以下数据”->“保存并开始采集”,如下,程序就会自动开始采集数据:
成功采集后的数据如下,也就是我们需要爬取的数据:
这里我们也可以点击右下角的“导出数据”,导出为excel,csv,数据库等都行:
至此,我们就完成了利用excel和八爪鱼对网络数据的采集。总的来说,这2个工具使用起来都非常方便、快捷,只需要简单的点击按钮,就可以完成对网络数据的采集,不需要写任何代码,网上的教程也很丰富,感兴趣的可以尝试一下,当然,你也可以利用python等爬虫来完成对数据的采集,都可以,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
1、在站内寻找API入口;
2、用搜索引擎搜索“某网站API”;
3、抓包,有的网站虽然用到了ajax,但是通过抓包还是能够获取XHR里的json数据的(可用抓包工具抓包,也可以通过浏览器按F12抓包:F12-Network-F5刷新)。二、不开放API的网站1、如果网站是静态页面,那么可以用requests库发送请求,再通过HTML解析库(lxml、parsel等)来解析响应的text;解析库强烈推荐parsel,不仅语法和css选择器类似,而且速度也挺快,Scrapy用的就是它。2、如果网站是动态页面,可以先用selenium来渲染JS,再用HTML解析库来解析driver的page_source。
1、元素选择器 标签名{ }
2、id选择器 #id属性值{ }
3、类选择器 .class属性值{ }
4、选择器分组(并集选择器)
作用:通过它可以同时选中多个选择器对应的元素(通常用于集体声明)
语法:选择器1,选择器2,选择器n{ }
5、复合选择器(交集选择器)
作用:选择更准确更精细的目标元素并为其设置属性
语法:选择器1选择器2选择器n{ }
!注意选择器之间不能有空格,要紧挨在一起
6、通配选择器
作用:用来选中页面中所有的元素
语法:*{ }
7、后代元素选择器
作用:选中指定元素的指定后代元素
语法:祖先元素 后代元素{ }
8、子元素选择器
作用:选中指定父元素的子元素
语法:父元素>子元素
9、伪类选择器
伪类表示元素的一种特殊状态
:hover 移入时元素的状态
:visited 已被访问过后的元素的状态
:active 被点击时元素的状态
10、 属性选择器
作用:根据元素中的属性或属性值来选取指定元素
语法:[属性名]选取含有指定属性的元素
? [属性名=“属性值”]选取含指定属性值的元素
? [属性名^="属性值"] 选取属性值以指定内容开头的元素
? [属性名$="属性值"] 选取属性值以指定内容结尾的元素
? [属性名*="属性值"] 选取属性值包含指定内容的元素
11、兄弟元素选择器
+选择器
作用:选中一个元素后紧挨着的指定的兄弟元素
语法:前一个+后一个(作用在后一个)
~选择器
作用:选中后边所有的制定兄弟元素
语法:前一个~后边所有
>10 CSS类选择器也就是选择html编码中标明为特定Class(类)的元素.如<p Class="mytest">这是我要编辑的段落</p>,在CSS文件中可用 .mytest{ }来表达想要显示的样式。简单地说,CSS类选择器用" . "做前缀。