采集

社会化海量数据采集爬虫框架搭建

十年热恋 提交于 2020-04-12 11:53:41
随着BIG DATA大数据概念逐渐升温,如何搭建一个能够采集海量数据的架构体系摆在大家眼前。如何能够做到所见即所得的无阻拦式采集、如何快速把不规则页面结构化并存储、如何满足越来越多的数据采集还要在有限时间内采集。这篇文章结合我们自身项目经验谈一下。 我们来看一下作为人是怎么获取网页数据的呢? 1、打开浏览器,输入网址url访问页面内容。 2、复制页面内容的标题、作者、内容。 3、存储到文本文件或者excel。 从技术角度来说整个过程主要为 网络访问、扣取结构化数据、存储。我们看一下用java程序如何来实现这一过程。 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 30 31 32 import java.io.IOException ; import org.apache.commons.httpclient.HttpClient ; import org.apache.commons.httpclient.HttpException ; import org.apache.commons.httpclient.HttpStatus ; import org.apache.commons.httpclient.methods.GetMethod ; import org

使用PHP做网页采集实例过程总结

梦想的初衷 提交于 2019-12-04 05:47:38
最近有个任务是需要我检查一些网站,如果纯手工检查的话,感觉既费时又无聊。所以我就想用采集。思路其实很简单,先把网站的源码采集下来,然后用正则表达式去匹配符合的链接,最后把标题和网址入库、分析。因为我使用最多的是php,所以打算用php做网页采集。 第一步,链接数据库,取出需要检查的网站和正则。 数据库这里我用了postgresql,数据库和表已经按要求建好。因为默认配置的环境是centos系统加nginx、mysql和php,所以首先是配置环境。配置具体不在这里多说,下次总结。环境配置好后在php中用pg_connect连接数据库,这里我连接了两个不同的数据库。 $conn_1=pg_connect("host=xxx.xxx.xxx.xxx port=5432 dbname=mydb1 user=postgres password=xxxxxx") ; $conn_2=pg_connect("host=xxx.xxx.xxx.xxx port=5432?dbname=mydb2?user=postgres password=xxxxxx") ; 第二步,取出网页源码,对源码进行初步处理。 不同网站编码格式不一样,需要先把编码统一转换成utf-8,不然之后入库会出现乱码。 //获取网页源码 //$url='http://www.sijitao.net/' ; $str = file

web data scraping的各种解决方案

烂漫一生 提交于 2019-11-30 04:20:28
对于互联网人来说,web data scraping (web数据采集)已经成为一个迫切而又实在的需求。在如今这个开源的时代,问题往往不在于是否有解决方案,而是如何选择适合你的解决方案,因为总是有很多潜在的方案供你选择。web data scraping当然也不例外,笔者认为,我们至少有四种类型的方案可以选择, 1. web scraping software 专用的数据采集软件不需要你编写任何代码,你只需要配置一些信息,例如采集的目标网址、兴趣字段等等。然而,学习如何使用这些软件却是一项非常费力的事情,大部分都需要有一定的技术背景,常常需要了解的技术有:xpath, html, regular expression。笔者列举几款这方面的软件如下, 火车头采集器 ----支持输出到各种数据库 A1 Website Scraper ------ 支持输出到csv文件; bget web data extraction ----- 支持输出到数据库和csv文件; 更多这方面的软件信息,可以参考这份文档: collections of web scraping software and server 2. web scraping framework scraping framework可能是developer的最佳选择,因为其功能强大且效率高

log4j直接输出日志到flume

℡╲_俬逩灬. 提交于 2019-11-27 06:08:48
log4j直接输出日志到flume 此jar是由Cloudera的CDH发行版提供的一个工具类,通过配置,可以将log4j的日志直接输出到flume,方便日志的采集。 在CDH5.3.0版本中是:flume-ng-log4jappender-1.5.0-cdh5.3.0-jar-with-dependencies.jar 所在目录是:/opt/cloudera/parcels/CDH/lib/flume-ng/tools/ 具体使用示例 log4j配置(log4j.properties) log4j.category.com.xxx=INFO,console,flume log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern="%d{yyyy-MM-dd HH:mm:ss} %p [%c:%L] - %m%n log4j.appender.flume = org.apache.flume.clients.log4jappender