Loading

1.3 数据采集

如何自动化采集数据

一个数据的走势,是由多个维度影响的,所以需要通过多源的数据采集,收集到尽可能多的数据维度,同时保证数据的质量,这样才能得到高质量的数据挖掘结果。

数据源:

  • 开放数据源:针对行业的数据库,例如人口信息,地区分布和教育情况,旅游、交通等。
  • 爬虫抓取(网页、App):指定网站数据,例如购物网的上的购物评价。
  • 日志采集(前端采集、后端脚本):统计用户的操作。可以前端埋点,后端进行脚本收集,来分析网站的访问情况。
  • 传感器(图像、测速、热敏):采集物理信息。
1. 开放数据源
  • 单位维度(政府、企业、高校) img
  • 行业维度(交通、金融、能源等领域)
2.使用爬虫

python爬虫经历的三个过程:

  • 抓取网页信息(使用 request 爬取内容)
  • 获取想要的信息(使用 XPath 解析内容)
  • 保存数据(使用 Pandas 保存爬取的数据,再通过 Pandas 写入 XLS 或 MySQL 等数据库中)。

Selenium + PhantomeJS,Puppteteer
使用其他工具抓取数据:

  • 火车采集器
  • 八爪鱼 (有云采集(付费))
  • 集搜课
3.日志采集

作用:
通过分析用户的访问情况,提升系统的性能,从而提高系统的承载量。及时发现系统承载瓶颈,也可以方便技术人员基于用户实际的访问情况进行优化。

记录的信息:

  • 谁:用户的IP,用户代理
  • 什么时候:访问时间,HTTP请求时间?
  • 通过什么渠道:搜索引擎或者网址输入
  • 做了什么:执行的操作
  • 是否有异常:系统是否产生错误

日志采集的形式:

  1. 通过 Web 服务器采集 ( httpd,Nginx,Tomcat 自带日志记录功能;其他:?Hadoop 的 Chukwa Cloudera 的 Flume Facebook 的 Scribe 等,这些工具均采用分布式架构,能够满足每秒数百 MB 的日志数据采集和传输需求。)
  2. 自定义采集用户行为 (JS代码监听用户的行为,AJAX异步请求后台记录日志)

埋点是什么?
埋点就是在有需要的位置采集相应的信息,进行上报。比如某页面的访问情况,包括用户信息 设备信息;或者用户在页面上的操作行为,包括时间长短等。

》》》》》其他及思考题。。。未


实战1:使用八爪鱼采集微博上的 "D&G" 评论

实战2:自动化下载王祖贤海报

XPath 定位
表达式含义
node选node节点的所有子节点
/从根节点选取
//选取所有的当前节点
.当前节点
..父节点
@属性选择
或,两个节点的合集
text()当前路径的文本内容
  • 选择 node 节点的所有节点 xpath('node')
  • 回到上一个节点 xpath('...')
  • 所有book元素,且book元素拥有id="abc"的属性。 xpath('//book[@id="abc"])
  • 选取book元素的所有 title 和 price 元素。 xpath('//book/title|//book/price')
posted @ 2025-03-12 22:22  一起滚月球  阅读(49)  评论(0)    收藏  举报