互联网上存在海量的数据,各式各样的数据每天展现在我们面前,同时众多的金融、医学和计算机等学科的研究课题,都需要获取众多的数据作为样本进行科学分析,传统的人工采集操作根本上很难胜任数据采集,即便是能够收集也需要耗费众多的时间成本,自动化网站采集应用而生。一般采集数据是各种客户端所呈现的结构化数据,例如浏览器,APP等。数据存储在客户端。采集数据不会在服务器端采集,一方面比较困难,另外这也是一种违法行为。很多客户端也要求提供验证,如用户名密码等。

网站采集的原理基本一致,例如国内用的比较多的采集器某头、某鱼等,首先由客户端发出请求,服务器接受请求后再返回相应的数据,而采集器就从返回的数据中找到对应的数据。采集器根据采集要求自动发出不同的请求,例如模拟人的点击过程或者自定规则。网站的数据获取非常依赖数据的结构,必须根据不同的数据结构制定不同的采集规则。基本上每个网页的数据结构都不同,因此必须根据具体的网页来制定规则。

下面以某网站的一个页面为例,说明下网站数据采集的过程。

  1. 确定需要获取数据的网页

网页的结构如下图所示,这是个微信小程序源码的下载页面,需要获取如下内容:1 源码名称(仿天猫首页);2 获取模板截图的地址

2.获取相应的元素信息

这个比较简单,在浏览器中按F12就可以查找到相应的元素。本页面的元素信息如下:

源码名称:

元素的类名pins-title在本页是唯一的;

模板截图:

元素的类名pins-info在本页是唯一的;

(三)在程序中实现内容的获取

使用QWebEngine实现对网页的操作。

第一,为QWebEngineView设置网页的地址,并登录网站,具体实现可自行搜索下,网上很多;

第二,书写javascript代码,从而能获取指定元素的内容,代码如下,后面的ret是为了方便输出的参数:

QString jscode = "var i,title,elements,imgs='',ret='';"

"elements = document.querySelectorAll('.pins-title strong');"

"title = elements[0].innerText;"

"elements = document.querySelectorAll('.pins-info .text img');"

"for(i=0;i<elements.length;i++){imgs += elements[i].getAttribute('src');imgs+=',';};"

"ret = 'title=';"

"ret += title;"

"ret += '&';"

"ret += imgs;"

"ret;";

运行javascript代码:

web_view->page()->runJavaScript(jscode,[this](const QVariant& v){qDebug()<<v.toString();});

运行结果如下:

结果可交由主程序处理,例如存入excel表、数据库等。

网站信息的采集系列(一)--基本流程相关推荐

  1. 大数据信息资料采集:影视网站资源数据信息采集爬取

    大数据信息资料采集:影视网站资源数据信息采集爬取 发展 影视作为电影艺术和电视艺术的统称,是现代科学技术与艺术相结合的产物.通过画面.声音.蒙太奇.故事情节等语言 来传达与表现. 例如经典影视作品:由 ...

  2. 大数据信息资料采集:阿里巴巴1688电商网站货源产品信息采集

    大数据信息资料采集:阿里巴巴1688电商网站货源产品信息采集 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份 职业. 舆情监控:全方位监测公开信息, ...

  3. 大数据信息资料采集:58同城赶集网百姓网分类网站教育培训采集

    大数据信息资料采集:58同城赶集网百姓网分类网站教育培训采集 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢 ...

  4. 大数据信息资料采集:中国知网文献资料网站数据信息资料爬取

    大数据信息资料采集:中国知网文献资料网站数据信息资料爬取 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢先获 ...

  5. 10种网站数据的采集方法

    10种AI训练数据采集工具排行榜 10种网站数据的采集方法 1.目前常用的10种网站数据 2.如何写Python爬虫: 3.人生第一个 爬虫代码示例: 另外: 10种网站数据的采集方法 如何收集网站数 ...

  6. 安防工程商前期收集客户信息15种方法与详细流程

    安防工程商前期收集客户信息15种方法与详细流程 [关键词]安防资料安防  收集  客户  工程  监控 作为工程商,安防工程商与其他行业工程商一样,要面临前期客户开发的问题.收集客户信息管理及流程如下 ...

  7. 公安局监狱人员信息一体化采集仪_设备

    今天分享一些人员信息一体化采集仪设备(以下简称一体化采集仪)的知识,关注过一体化采集仪朋友们就知道这种设备有软硬件之分,硬件设备也有大小之分,常规称为大机台和便携式采集台.有些朋友可能不知道它们也应用 ...

  8. 大数据信息资料采集:手机游戏软件下载排名行榜热门软件信息采集

    大数据信息资料采集:手机游戏软件下载排名行榜热门软件信息采集 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢 ...

  9. PHP采集商家信息及采集方法概述(上)

    最近电子商务市场上面,有很多商家的导航,里面收集了大量的商家信息,如果从事电子商务的这些信息还是有用的.我最近在做的一个项目就要用到这些信息,但是你总不能给别人要吧,这样别人是不给滴.所以只有自己爬了 ...

最新文章

  1. 写在Flutter 1.0之前
  2. OpenStack vlan教程 (操作篇)
  3. C++:52---多重继承
  4. iOS进阶(数据库之SQLite)
  5. html5 输入用户名和密码登陆网址,192.168.5.1路由器登录入口用户名和密码
  6. ID3、C4.5、CART决策树算法解析(关键内容讲解)
  7. 新手刷杭电-A-2019~2025
  8. Ueditor、FCKeditor、Kindeditor编辑器漏洞
  9. html5用户注册页面代码,HTML5注册页面示例代码_html5教程技巧
  10. Pytorch之Optim(优化器)
  11. 这3个快速开发平台,前后端都有,强推
  12. JS移动DOM节点,将某节点下所有子节点移动(剪切)到另一个节点下。新手很容易踩的坑!
  13. 冰桶挑战”的火爆程度与朋友圈?
  14. 不礼让行人怎么抓拍的_注意啦!电子警察如何抓拍不礼让行人?所有司机都要看看...
  15. 同程艺龙通过港交所上市聆讯 要冲刺小程序第一股
  16. 运用阿里云地图实现经纬度转换为省市县
  17. 三千字的HashMap灵魂拷问
  18. 【windows】window10打开图片显示黑屏,一直打不开
  19. 对于学it的来说,软考的高级证书难考吗,难度大吗?
  20. Python爬音乐--qq

热门文章

  1. ubuntu 安装java运行环境,Ubuntu 安装java环境搭建
  2. 跨世代保留精英遗传(基因)算法(intergenerational reserved Elitism Genetic Algorithm)
  3. 知道创宇云安全双十一「3-6折」大促攻略
  4. 捷信Q1经营大幅下滑,净利润0.3亿元,不良率走高
  5. 代码风格自动化(二)——husky + lint-staged
  6. Hyper-V自定义专用网络网段
  7. 行业集中度(Concentration Ratio)
  8. 2DPCA以及增强的双向2DPCA详解
  9. C++ 已知两个时间(年月日)求日期差
  10. 英语计算机演讲,计算机英语小演讲 原创