数据采集

如何写程序自动下载BBC Learning English的所有在线课程

自闭症网瘾萝莉.ら 提交于 2020-12-14 06:01:03
BBC Learning English 在线3大系列课程: Lower intermediate 、 Intermediate 、 English My Way 声音很悦耳,尤其是Jamaica Inn和The Importance of Being Earnest,堪称完美,百听不厌,这对于英语兴趣的培养和英语能力的提升非常有帮助。到目前为止,这些课程的mp3和pdf文件已经有 2859 个,而且还在持续增长中,如果能写个程序自动地把这些文件下载下来就好了,要是手工一个个下载,那得累死吧,尤其是对那些还从来没有学过这个课程的人。 下载下来后将文件拷贝到手机上,在挤地铁挤公交的时候戴着耳机听一听,充分利用时间嘛,听不懂的还可以看看录音稿,要不然直接在BBC的网站上看,那太不方便了。 首先,我们使用maven引入jsoup依赖: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.7.2</version> </dependency> 接下来就可以写代码了: import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import java.nio.file

记录每一天

余生颓废 提交于 2020-11-14 05:03:43
记录每一天: 1、完善Twitter好友关系列表的断点续采功能; 2、完成重复账号过滤功能; 3、Twitter账号主页页面元素分析; 4、了解Hibernate Tools的用法; 来源: oschina 链接: https://my.oschina.net/u/3005242/blog/779730

基于Arduino+LabVIEW的多路数据采集系统

◇◆丶佛笑我妖孽 提交于 2020-04-25 13:19:11
【注】一般认为上位机为主机,下位机为从机,上位机领导下位机按照上位机的意愿为上位机服务;同时下位机也可以主动向上位机发出请求,上位机响应下位机并配合完成某个请求。 数据采集,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。相应能够完成数据采集的系统被称为数据采集系统。 数据采集系统的任务,就是采集传感器输出的模拟信号转换成计算机能识别的信号,并送入计算机,然后将计算得到的数据进行显示或打印,以便实现对某些物理量的监测,其中一些数据还将被生产过程中的计算机控制系统用来控制某些物理量。 【文献1】 一、Arduino下位机部分 数据采集系统中的Arduino下位机部分采用Arduino Leonardo实验板,如图1所示。 图1 Arduino Leonardo控制板 Arduino下位机部分需要完成两个功能:数据采集和数据传输,Arduino Leonardo控制板通过串口接受上位机命令,完成相应的数据采集,并将数据回传至上位机。 数据采集分为模拟量采集和数字量采集,设置采集路数各为2路,分别采用Arduino UNO上具有模拟量输入的管脚A0、A1和具有数字量输入的管脚2、3来实现。模拟量采用接至GND、3.3V和5V来实现不同电压值,数字量采用接至5V和GND实现高电平与低电平。【注】 【注】如果有电位器,可以用来测量分压值。由于手头没有电位器

【03】基础:同种网页结构套用采集规则

[亡魂溺海] 提交于 2020-04-11 18:49:49
请先安装爬虫软件。 爬虫软件安装 经过上个教程小试牛刀之后就可以尝到获得数据的喜悦了。 回顾一下,上个教程主要了解了MS谋数台的工作职责-定义采集规则,测试规则无误之后点击MS谋数台右上角的“爬数据”后弹出DS打数机,然后看到打数机窗口正在马不停蹄地抓取数据。这两个部件的工作配合地很紧密。 在学会将xml文件转成Excel之前,先解决当下的一个疑问?如果要采集其他博主主页的微博,是要重新做过规则吗?非也~ 用MS谋数台制定采集规则用了一个样本网址,既然是样本,可想而知,与样本相同结构的网页,都可以套用该规则进行采集了。 为一个采集规则添加一个相同结构的网址就是给该规则添加一个线索。 以后用该规则抓取数据的时候就会运行所有的线索而不仅仅是样本网址。 前一个教程采集微博博主主页是将宝宝主页的网址作为样本网址来制定采集规则的。宝宝之前参加过很火的《奔跑吧兄弟》,现在我想采集兄弟团所有成员的微博主页,只要将他们主页网址当成新的线索添加给之前做的“weibo_博主主页”采集规则就OK了。 怎么添加线索? 第一季兄弟团各个成员的主页网址如下: 学霸邓超: http://weibo.com/dengchao?profile_ftype=1&is_all=1#_0 大黑牛李晨: http://weibo.com/lichenlichen?profile_ftype=1&is_all=1#_0

【02】基础:单页采集(以微博博主主页采集为例)

痞子三分冷 提交于 2020-04-11 18:49:35
请先安装爬虫软件。 爬虫软件安装 ###前言 今天讲讲微博博主主页的采集。 目标是采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数。 学习流程见下图—— ###一、加载页面,定义主题名 样本网址:最近很火的宝宝的微博主页 http://weibo.com/wbq?refer_flag=1001030101_&is_hot=1#_rnd1471331959489 操作参见图。 ###二、建立整理箱进行内容映射 点击操作栏中的“创建规则”,点击新建,给整理箱取一个名称,整理箱就是存放数据的地方,比如“列表”,箱子必须有,否则程序不知道把采集下来的数据放哪里。 接下来告诉整理箱要采集的数据有哪些,分别取个名字。右击“列表”,选择“添加”,选择“包容”。 输入抓取内容的名称(博主名称)之后,后点击保存。 接下来,右击“博主名称”,选择“添加”,选择“其后”,同理,输入抓取内容的名称后点击保存。 前面说了,我们要采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数这些字段,那就重复上一步操作分别添加。 接下来要告诉爬虫哪些内容是想采集的(内容映射)—— 在MS谋数台的浏览器窗口,点击博主名称之后,会自动定位到网页标签中的A节点,双击展开A节点,找出包含博主名称的#text节点,我们看到文本内容窗口显示的内容是王宝宝,说明博主名称对应的节点选对了 右击

【05】中级:翻页采集(以微博博主主页采集为例)

蹲街弑〆低调 提交于 2020-04-11 18:04:07
请先安装爬虫软件。 爬虫软件安装 先回顾一下单页采集所讲到的内容。 以微博博主主页采集为例,目标是采集博主名称、微博内容、发博日期、微博内容、转发数、评论数和点赞数。 单页采集的流程共分为四步——加载页面、内容映射、样例复制、存规则和抓数据。 本次讲解的翻页采集的流程相较于单页采集而言,只增加了一个步骤,如图—— 前三个步骤与单页采集前三个步骤一样,这里不进行赘述了,可以回顾原来的文章 《【02】基础:单页采集(以微博博主主页采集为例》 。 现在重点讲解如何设定翻页采集。 四、通过‘爬虫路线’来设定翻页 通过新建爬虫路线来设定采集的翻页路线—— 跳转到爬虫路线工作台。 点击新建,创建一条线索。 选择线索类型,设置翻页线索时通常选择记号线索,本文主要介绍的就是记号线索。 勾选连贯抓取,表示在执行抓取任务时,爬虫可以在同一个DS打数机窗口内抓取完当前页面后直接跳转到下一个页面进行抓取。 勾选连贯抓取后,目标主题名自动填写当前规则主题名,在本规则内不应修改,表示翻页后继续使用当前规则进行抓取。 在爬虫路线工作台中点击定位选项。 线索定位选择偏好class。 (网页结构中的@id属性每个页面不同的几率较大,如果线索定位偏好@id,容易导致在后续的抓取中翻页失败。所以一般我们手工修改选择较为稳定不变的@class属性,作为线索定位的首选项。) 接下来的操作—— 往下滚屏,直到在网页上出现

Python即时网络爬虫项目: 内容提取器的定义(Python2.7版本)

百般思念 提交于 2019-12-11 11:42:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ###1. 项目背景 在 Python即时网络爬虫项目 启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间太多了(见上图),从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端的数据处理工作中。 这个项目推出以后受到很大关注,因为开放源码,大家可以在现成源码基础上进一步开发。然而,Python3和Python2是有区别的, 《Python即时网络爬虫项目: 内容提取器的定义》 一文的源码无法在Python2.7下使用,本文将发布一个Python2.7的内容提取器。 ###2. 解决方案 为了解决这个问题,我们把影响通用性和工作效率的提取器隔离出来,描述了如下的数据处理流程图: 图中“可插拔提取器”必须很强的模块化,那么关键的接口有: 标准化的输入:以标准的HTML DOM对象为输入 标准化的内容提取:使用标准的xslt模板提取网页内容 标准化的输出:以标准的XML格式输出从网页上提取到的内容 明确的提取器插拔接口:提取器是一个明确定义的类,通过类方法与爬虫引擎模块交互 ###3. 提取器代码 可插拔提取器是即时网络爬虫项目的核心组件,定义成一个类: GsExtractor 适用python2.7的源代码文件及其说明文档请从 github 下载 使用模式是这样的:

Python爬虫实战(4):豆瓣小组话题数据采集—动态网页

非 Y 不嫁゛ 提交于 2019-12-01 17:55:31
### 1, 引言 注释:上一篇 《Python爬虫实战(3):安居客房产经纪人信息采集》 ,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功。本篇是针对动态网页的数据采集编程实战。 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类: 即时爬虫和收割式网络爬虫 。为了适应各种应用场景,GooSeeker的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的“独立python爬虫”的一个实例,以采集豆瓣小组讨论话题( https://www.douban.com/group/haixiuzu/discussion?start=0 )信息为例,记录整个采集流程,包括python和依赖库的安装,即便是python初学者,也可以跟着文章内容成功地完成运行。 ### 2,Python和相关依赖库的安装 运行环境:Windows10 #### 2.1,安装Python3.5.2 官网下载链接: https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe 下载完成后,双击安装。 这个版本会自动安装pip和setuptools,方便安装其它的库 #### 2.2,Lxml 3.6.0 Lxml官网地址: http://lxml.de/ Windows版安装包下载: http://www

为采集动态网页安装和测试Python Selenium库

丶灬走出姿态 提交于 2019-11-30 12:48:25
###1. 引言 上一篇《 为编写网络爬虫程序安装Python3.5 》中测试小例子对静态网页做了一个简单的采集程序,而动态网页因为需要动态加载js获取数据,所以使用urllib直接openurl已经不能满足采集的需求了。这里我们使用selenium库,通过它我们可以很简单的使用浏览器来为我们加载动态内容,从而获取采集结果。 在很多案例中,Selenium与PhantomJS搭配采集动态网页内容(可以参看我以前发表的案例文章),直接与Firefox或者Chrome搭配,可以应对一些更加复杂的采集情形,比如,在防爬方面,直接驱动普通浏览器更不容易被识别成爬虫。所以,本文讲解与Firefox搭配,开发难度并没有增加。 Python版本:Python3 ###2. 安装selenium库 使用快捷键win + R或右键开始选择运行,输入cmd回车,打开命令提示符窗口,输入命令:pip install selenium ###3. 以亚马逊商品为例的一个简单爬虫 ####3.1 引入Gooseeker规则提取器模块gooseeker.py (下载地址: https://github.com/FullerHua/gooseeker/tree/master/core ), 自定义存放目录,这里为E:\demo\gooseeker.py 引入GooSeeker规则提取器

在Python3.5下安装和测试Scrapy爬网站

删除回忆录丶 提交于 2019-11-30 12:47:17
###1. 引言 Scrapy框架结构清晰,基于twisted的异步架构可以充分利用计算机资源,是爬虫做大的必备基础。本文将讲解如何快速安装此框架并使用起来。 ###2. 安装Twisted ####2.1 同安装Lxml库 (参考 《为编写网络爬虫程序安装Python3.5》 3.1节)一样,通过下载对应版本的.whl文件先安装twisted库,下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted ####2.2 安装twisted 打开命令提示符窗口,输入命令: pip install E:\demo\Twisted-16.4.1-cp35-cp35m-win_amd64.whl(下载好的twisted模块的whl文件路径) ###3. 安装scrapy twisted库安装成功后,安装scrapy就简单了,在命令提示符窗口直接输入命令: pip install scrapy 回车 安装关联模块pypiwin32,在命令提示符窗口直接输入命令: pip install pypiwin32 回车 ###4. Scrapy测试,敲一个基于Scrapy框架的爬虫程序 新建一个Scrapy爬虫项目fourth(因为这是继Python3.5安装的第四篇教程, 有兴趣的话请从头看起 ):在任意目录按住shift+右键-