精华内容
下载资源
问答
  • 信息采集器信息采集器信息采集器信息采集器信息采集器信息采集器信息采集器信息采集器信息采集器
  • 采集器 网页采集器 信息采集器 新闻采集器
  • 易语言百度信息采集器源码,百度信息采集器,数据处理
  • 网站万能信息采集器可以把网站上的信息统统抓下来并且自动发布到您的网站里,可以无人工全自动干活,您睡觉时也可以保持您的网站拥有最新的信息。网站万能信息采集器的八大特色功能: 1.数据采集添加全自动 网站...
  • 易语言网络信息采集器源码系统结构:处理连接内容, ======窗口程序集1 || ||------_按钮1_被单击 || ||------_按钮2_被单击 || ||------_按钮3_被单击 || ||------处理连接内容 || ||------_按钮4_被单击
  • 红铃铛分类信息采集器1.5.6.2 红铃铛分类信息采集器1.5.6.2 红铃铛分类信息采集器1.5.6.2
  • 万能信息采集器10

    2012-11-27 19:04:55
    网站万能信息采集器可以把各类网站上您想要的信息采集保存到本地数据库中,你想要什么信息就能采集到,爽吧!更令人兴奋的是,它可以实现信息添加全自动。其它网站刚刚更新的信息五分钟之内就会跑到您的网站中。 有...
  • IIS信息采集器

    2008-07-19 08:55:31
    IIS信息采集器 可以采集iis站点 目录的信息列表
  • 易语言源码易语言网络信息采集器源码.rar
  • 阿里巴巴国际版采集器是一套专门用于采集 阿里巴巴(国际版)网站信息数据的软件。该产品基于多线程技术实现,可较大性能的模拟抓取网站的信息数据,并输出到指定格式,以满足对
  • C# 信息采集器,通过网络访问获得数据源,然后通过正则表达式提取数据。也是C#正则表达式应用实例。 运行截图和说明:http://www.our-code.com/news/2010913/n5499115.html
  • 网站万能信息采集器 asp 万能信息采集\
  • 一种基于51单片机的物联网信息采集器的设计与实现pdf,一种基于51单片机的物联网信息采集器的设计与实现
  • 网站万能信息采集器10版 隆重推出 融合5年经验 前所未有的强大功能 无与伦比 八大特色功能: 1.数据采集添加全自动 网站抓取的目的主要是添加到您的网站中,网站万能信息采集器软件可以实现信息采集添加全自动...
  • 慧聪网企业信息采集器,是采集慧聪网里面的买卖通会员和普通会员信息的一款全自动信息提取软件。提取的信息包括:企业名称、慧聪账号、联系人姓名、手机、电话、传真 、地址、邮编、公司网址。这些信息可以用于市场...
  • 介绍了关于一种基于51单片机的物联网信息采集器的设计与实现b的详细说明,提供单片机的技术资料的下载。
  • 文件信息采集器2

    2017-12-27 17:41:47
    一款可以可以采集文件信息的工具,采集文件信息,测试可用
  • 一个比较好的网站信息采集器,可以采集到文本,图片。设置比较简单易用带有破解补丁 。本软件的发布目的只在学习交流之用,发布者不承担使用本软件产生的任何后果。http://www.rsnet668.com
  • 网络信息采集器

    2008-11-16 21:41:00
    网络信息采集器,用于在网络上采集其他网站所发不出来的信息资源,对信息采集者而言是非常地方便快捷的,以下就是网络信息采集器的制作教程: 在制作网络信息采集器时,我们会使用到网络命名空间中的HttpWebRequest...

    网络信息采集器,用于在网络上采集其他网站所发不出来的信息资源,对信息采集者而言是非常地方便快捷的,以下就是网络信息采集器的制作教程:

    在制作网络信息采集器时,我们会使用到网络命名空间中的HttpWebRequest和HttpWebResponse这2个类,还会使用到基础命名空间中的IO技术,在下面我将写出。

                //采集网站的地址
                string url = "http://www.baidu.com/";

                //创建访问目标
                HttpWebRequest webRequeset = (HttpWebRequest)WebRequest.Create(url);

                //得到回应
                HttpWebResponse webResponse = (HttpWebResponse)webRequeset.GetResponse();

                //得到数据流
                Stream stream = webResponse.GetResponseStream();

                //对获取到的数据流进行编码解析,让我们可以进行正常读取
                StreamReader streamReader = new StreamReader(stream, Encoding.GetEncoding("gb2312"));

                //读取出数据流中的信息
                string content = streamReader.ReadToEnd();

                //关闭流
                streamReader.Close();

                //关闭网络响应流
                webResponse.Close();

    通过上面的方式,我们将得到网络响应回来的数据,这时,我们将进行正则配对选取性截取 

    public class GetRemoteObj
        {

            #region 根据URL读取网络内容

            /// <summary>
            /// 根据URL读取网络内容
            /// </summary>
            /// <param name="url"></param>
            /// <returns></returns>
            public string GetRemoteHtmlCode(string url)
            {
                HttpWebRequest wrequest = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse wresponse = (HttpWebResponse)wrequest.GetResponse();
                Stream stream = wresponse.GetResponseStream();
                StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"));
                string HtmlCode = reader.ReadToEnd();
                reader.Close();
                wresponse.Close();
                return HtmlCode;
            }

            #endregion

            #region 替换网页中的换行和引号

            /// <summary>
            /// 替换网页中的换行和引号
            /// </summary>
            /// <param name="HtmlCode"></param>
            /// <returns></returns>
            public string ReplaceEnter(string HtmlCode)
            {
                string s = "";
                if (HtmlCode == null || HtmlCode == "")
                    s = "";
                else
                    s = HtmlCode.Replace("\"", "");
                s = s.Replace("\r", "");
                s = s.Replace("\n", "");
                return s;
            }

            #endregion

            #region 执行正则提取出值

            /// <summary>
            /// 执行正则提取出值
            /// </summary>
            /// <param name="RegexString">正则表达式</param>
            /// <param name="RemoteStr">html源码</param>
            /// <returns></returns>
            public string GetRegValue(string RegexString, string RemoteStr)
            {
                string MatchVale = "";
                Regex r = new Regex(RegexString);
                Match m = r.Match(RemoteStr);
                if (m.Success)
                {
                    MatchVale = m.Value;
                }
                return MatchVale;
            }

            #endregion

            #region 删除HTML标签

            /// <summary>
            /// 删除HTML标签       

            /// <param name="HtmlCode">html源码</param>
            /// <returns></returns>
            public string RemoveHTML(string HtmlCode)
            {
                string MatchVale = HtmlCode;
                foreach (Match s in Regex.Matches(HtmlCode, "<.+?>"))
                {
                    MatchVale = MatchVale.Replace(s.Value, "");
                }
                return MatchVale;
            }

            #endregion

            #region 获取页面的链接正则

            /// <summary>
            /// 获取页面的链接正则
            /// </summary>
            /// <param name="HtmlCode">html源码</param>
            /// <returns></returns>
            public string GetHref(string HtmlCode)
            {
                string MatchVale = "";
                string Reg = @"(h|H)(r|R)(e|E)(f|F) *= *(’|"")?((\w|\\|\/|\.|:|-|_)+)[\S]*";
                foreach (Match m in Regex.Matches(HtmlCode, Reg))
                {
                    MatchVale += (m.Value).ToLower().Replace("href=", "").Trim() + "|";
                }
                return MatchVale;
            }

            #endregion

            #region 匹配<img src="" />中的图片路径实际链接

            /// <summary>
            /// 匹配<img src="" />中的图片路径实际链接
            /// </summary>
            /// <param name="ImgString">字符串</param>
            /// <param name="imgHttp"></param>
            /// <returns></returns>
            public string GetImg(string ImgString, string imgHttp)
            {
                string MatchVale = "";
                string Reg = @"src=.+\.(bmp|jpg|gif|png|)";
                foreach (Match m in Regex.Matches(ImgString.ToLower(), Reg))
                {
                    MatchVale += (m.Value).ToLower().Trim().Replace("src=", "");
                }
                if (MatchVale.IndexOf(".net") != -1 || MatchVale.IndexOf(".com") != -1 || MatchVale.IndexOf(".org") != -1 || MatchVale.IndexOf(".cn") != -1 || MatchVale.IndexOf(".cc") != -1 || MatchVale.IndexOf(".info") != -1 || MatchVale.IndexOf(".biz") != -1 || MatchVale.IndexOf(".tv") != -1)

                    return (MatchVale);
                else
                    return (imgHttp + MatchVale);
            }

            #endregion


            #region  匹配页面的图片地址

            /// <summary>
            /// 匹配页面的图片地址
            /// </summary>
            /// <param name="HtmlCode">html源码</param>
            /// <param name="imgHttp">要补充的http://路径信息</param>
            /// <returns></returns>
            public string GetImgSrc(string HtmlCode, string imgHttp)
            {
                string MatchVale = "";
                string Reg = @"<img.+?>";

                foreach (Match m in Regex.Matches(HtmlCode.ToLower(), Reg))
                {
                    MatchVale += GetImg((m.Value).ToLower().Trim(), imgHttp) + "|";
                }

                return MatchVale;
            }

            #endregion

            #region 替换通过正则获取字符串所带的正则首尾匹配字符串

            /// <summary>
            /// 替换通过正则获取字符串所带的正则首尾匹配字符串
            /// </summary>
            /// <param name="RegValue">要替换的值</param>
            /// <param name="regStart">正则匹配的首字符串</param>
            /// <param name="regEnd">正则匹配的尾字符串</param>
            /// <returns></returns>
            public string RegReplace(string RegValue, string regStart, string regEnd)
            {
                string s = RegValue;
                if (RegValue != "" && RegValue != null)
                {
                    if (regStart != "" && regStart != null)
                    {
                        s = s.Replace(regStart, "");
                    }
                    if (regEnd != "" && regEnd != null)
                    {
                        s = s.Replace(regEnd, "");
                    }
                }
                return s;
            }

            #endregion

        }

     

    是在对不起大家,该文章被我耽误了很久了,今天终于抽出时间来,我决定把该文章搞定:

    上面的方法,我把几个重要的讲解下 (由于家里是拨号上网,我基本上是以百度举例)

    GetRemoteHtmlCode 该方法是用来获取该网页中的源代码,我们只需要传入URL地址即可 (注意下,传入的URL必须加上http,例如百度,我们需要写成http://www.baidu.com

    GetRegValue 该方法主要是用来提取关键信息 (这个方法非常的重要,可以说是采集系统的关键了,我会在下面举个例子)

    RemoveHTML  该方法主要用来删除HTML标签

    ReplaceEnter 该方法主要用来替换换行和引号

    下面我将写个例子出来给大家看看:

                GetRemoteObj getUrl = new GetRemoteObj();     //实例化操作类
                string url = "http://www.baidu.com/";                 //这个是我们的URL   
                string content = getUrl.GetRemoteHtmlCode(url); //得到html源码
                string Reg="<title>.+?</title>";   //根据title标签正则,得到标题
                string title = getUrl.GetRegValue(Reg, content); //取出title  这里取出来的标题是包含了title标签的
                title = getUrl.RemoveHTML(title); //删除html标签
                Console.WriteLine(title);  //打印输出,在这里的时候,就会显示出标题内容了

    上面的例子,大家都可以写一下,我们选择性截取内容时,有事会碰到换行的问题,那么可以先把对方换行标识符先替换下,就可以正常截取内容,

    这个其实是很简单的,我把自己的一些经验总结了下:

    第一:多线程采集的意思,很多人都搞错了,我在这里先解释下,我们在采集网页信息的时候,有可能一个页面中有很多个我们需要存储到数据里的数据,

    比如说百度,但我们搜索出来信息是,百度给我们是分页显示的,这个时候,我们可以在这个页面进行多线程采集,使用委托和事件,我们让该页面显示出来的数据,比如一个页面有10个数据,那么我们开启10个线程,同时进行内容的采集,每当采集完成一个时,我们就干掉一个,当全部完成后,我们就可以调入第二页数据,在开启线程,进行同时采集

    第二:我们每采集完一个页面,需要进行标示,我一般都是把该页面的路径放入到数据库中,在采集时,先进行对比,我不知道大家还有没有更好的方法哈,如果有,请指教一下

    第三:采集信息的机器最好是服务器,服务器的优势最大在于网络和cpu资源,我们开启多线程时,是非常消耗网络资源和cpu的,如果是一个差的机器,我推荐你还是1个一个的采集更好,不然容易挂掉

    以上基本是信息采集系统的基础了,前端时间做的信息网,初步就用到了这些,如果大家有兴趣,可以对某个网站进行采集下,个人感觉还是不错,就是重用性我没有更好的解决方法,这点很郁闷,采集只能针对摸个网站的信息,不能通用,如果有时间,可以在深入的了解下。

     

    在这里,我对各位看兄道歉,该文章拖了了一段时间,是在很忙,有兄弟找我要例子,说实话,除了那个网站的采集器,我还真的没有做个例子出来,汗。。。。

    下次我在写文章时,一定会先做例子,是在对不起!!!!

     

     

     

     

     

    转载于:https://www.cnblogs.com/lijincan/archive/2008/11/16/1334649.html

    展开全文
  • 阿里巴巴(国际站)企业信息采集器,是采集阿里巴巴(国际站)里面的金牌供应商和普通供应商的一款全自动信息提取软件。提取的信息包括:企业名称、阿里账号、联系人姓 名、国家、省份、城市、称呼、手机、电话、传真...
  • 程序员可以免费使用的网页采集器,可以多任务采集,可以采集图片,可以筛选数据,可以将数据直接发布到您的SQLSERVER数据库中,也可以导出EXCEL文件,重点是不会操作的话,我还会免费指导你怎么使用!么么哒!
  • C# 信息采集器

    2010-09-15 19:38:00
     用C#做信息采集器还是比较简单的。用WebRequest抓取指定网页的内容,然后用正则表达式匹配出所需要的内容就可以了。 还可以将抓取规则抽象出来,对不同网页适用不同的规则,提取需要的内容。  这里以...

      用C#做信息采集器还是比较简单的。用WebRequest抓取指定网页的内容,然后用正则表达式匹配出所需要的内容就可以了。 还可以将抓取规则抽象出来,对不同网页适用不同的规则,提取需要的内容。

      这里以抓取CSDN Asp.Net小论坛http://forum.csdn.net/SList/ASPDotNET/ 为例做个简单的采集器。运行截图如下:

    代码全文:http://www.our-code.com/news/2010913/n5499115.html

    下载地址: http://download.csdn.net/source/2691129

    展开全文
  • 58同城信息采集器

    热门讨论 2014-05-17 00:22:40
    本软件支持从58同城采集信息,并一键发布到您的网站上,让您的网站立刻拥有海量真实数据! 一、数据采集 在数据采集页面中,您可以选择采集城市(区县),采集频道(房产、招聘、商业),采集日期范围。选择采集...
  • 应客户要求开发的一款分析竞争对手网站信息,内容和所有关健字的采集器 AnMeiQi.exe为主程序; AnMeiQi.exe.config为配置文件,用来修改数据库名称; seo.mdb为数据库,采集完成后数据全部写到这里面。 使用方法...
  • Heritrix3.X与1.X版本变化比较大,基于此带来的Extractor定向扩展方法也受到影响,自定义扩展方面因为接口的变化受阻,从而萌生了通用网络信息采集器设计的想法。一直没有一个好的网络信息采集器,必须能够适应下载...

    一、引言

      Heritrix3.X与1.X版本变化比较大,基于此带来的Extractor定向扩展方法也受到影响,自定义扩展方面因为接口的变化受阻,从而萌生了通用网络信息采集器设计的想法。一直没有一个好的网络信息采集器,必须能够适应下载对象的多样性和下载内容的复杂性。比如需要同时下载100多家主流媒体的新闻信息,并解析入库等。本文围绕通用网络信息采集器的设计展开。

    二、需求分析

      一个好的网络爬虫必须满足通用性、多任务、定向性和可扩展性。

    通用性是指可以满足不同格式下载对象的下载,如HTML、JS、PDF等等;多任务是指同时可以执行多个下载任务,即不同的网络站点;定向性是指可以根据自己的业务需求定向下载,即只下载自己关注的网页,其他无关页面自动过滤掉。比较好的是开源社区有很多可用的资源,比较不好的是能同时满足以上需求的软件非常少,好在Heritrix3.X就是能够满足的之一,不过需要自己编写代码,扩展Extrator,实现其定向下载。

    三、架构设计

      以下部分是期待中网络信息采集器的逻辑架构。如下图所示:

     每一个目标任务代表一个下载渠道,比如sina、sohu等,下载规则负责URL过滤,只下载满足规则的内容,比如新闻;解析规则负责已经下载下来的内容的过滤,只选择我想要的东西,比如新闻标题、内容、评论等;元数据规则定义数据入库规则,任务与元数据规则关联实现自动入库。

    四、成果展现

      博客园躺着中枪了,以我个人的技术博客作为下载目标,以下部分展现的是我通过定向扩展后的下载结果:

    P文件夹中的内容,代表具体的网页:

    五、遗留问题

      1.URL发现是否有必要独立,单独做成工具,根据入口网址+过滤规则,输出待下载对象的URL地址?当前采用的模式是复合式,逻辑上分离,物理上耦合。

      2.如何实现增量下载和循环运行,当前任务启停是通过人工干预。需要改进。

    展开全文
  • 好吧,我承认我是对晚上看到一张合适的...#coding: utf-8'''春运查询火车票转让信息Author: piglei2007@gmail.comDate: 2011.01.25'''import reimport osimport timeimport urlparseimport datetimeimport traceback...

    好吧,我承认我是对晚上看到一张合适的票转让但打过电话去说已经被搞走了这件事情感到蛋疼。直接上文件吧。

    #coding: utf-8

    '''

    春运查询火车票转让信息

    Author: piglei2007@gmail.com

    Date: 2011.01.25

    '''

    import re

    import os

    import time

    import urlparse

    import datetime

    import traceback

    import urllib2

    import socket

    socket.setdefaulttimeout(20)

    BLANK_RE = re.compile(r"\s+")

    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

    opener.addheaders = [

    ("User-agent", "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1) Gecko/20090704 Firefox/3.5"),

    ("Accept", "*/*"),

    ]

    urllib2.install_opener(opener)

    from BeautifulSoup import BeautifulSoup

    SOURCE = {

    "58": "http://bj.58.com/huochepiao/?Num=%(train)s&StartTime=%(date)s00",

    "ganji": "http://bj.ganji.com/piao/cc_%(train)s/%(date)s/",

    }

    RECORD_FILE = "/tmp/ticket_records.txt"

    def parse_record():

    try:

    return set([x.strip() for x in open(RECORD_FILE, "r").readlines()])

    except IOError:

    open(RECORD_FILE, "w")

    return set()

    def flush_record(records):

    open(RECORD_FILE, "w").write("\n".join(records))

    def main(config):

    """

    开始抓取

    """

    existed = parse_record()

    to_email = []

    for train in config["trains"]:

    for date in config["dates"]:

    for type, _url in SOURCE.items():

    url = _url % dict(train=train, date=date)

    content = urllib2.urlopen(url).read()

    soup = BeautifulSoup(content)

    result = parse_content(type, soup, train)

    for url, text in result:

    url = urlparse.urljoin(_url, url)

    # 只要卧铺!

    if url not in existed and u"卧" in text:

    to_email.append([text, url])

    existed.add(url)

    if to_email:

    content = "".join(

    [x for x in [" | ".join(y) for y in to_email]]

    ).encode("utf-8")

    simple_mail(config["people"], content)

    flush_record(existed)

    def parse_content(type, soup, train):

    """

    获得车次信息

    """

    result = []

    if type == "58":

    info_table = soup.find("table", id="infolist")

    if info_table:

    for x in info_table.findAll("tr", text=re.compile(ur"%s(?!时刻表)" % train, re.I)):

    a = x.parent

    _text = BLANK_RE.sub("", a.text)

    result.append([a["href"], _text])

    if type == "ganji":

    for x in soup.findAll("dl", {"class": "list_piao"}):

    a = x.dt.a

    result.append([a["href"], a.text])

    return result

    EMAIL_HOST = 'smtp.sohu.com'

    EMAIL_HOST_USER = 'yourname@sohu.com'

    EMAIL_HOST_PASSWORD = 'yourpassword'

    EMAIL_PORT = 25

    def simple_mail(to, content):

    """

    发送邮件

    """

    import smtplib

    from email.mime.text import MIMEText

    msgRoot = MIMEText(content, 'html', 'UTF-8')

    msgRoot['Subject'] = "[%s]有票来啦!!!!" % datetime.datetime.today().isoformat(" ")

    msgRoot['From'] = EMAIL_HOST_USER

    msgRoot['To'] = ", ".join(to)

    s = smtplib.SMTP(EMAIL_HOST, EMAIL_PORT)

    s.login(EMAIL_HOST_USER, EMAIL_HOST_PASSWORD)

    s.sendmail(EMAIL_HOST_USER, to, msgRoot.as_string())

    s.close()

    def switch_time_zone():

    """

    切换时区

    """

    os.environ["TZ"] = "Asia/Shanghai"

    time.tzset()

    switch_time_zone()

    if __name__ == '__main__':

    config = {

    "trains": ("k471",),

    "dates": ("20110129",),

    "people": (

    "youremail@sohu.com",

    )

    }

    try:

    main(config)

    print "%s: ok" % datetime.datetime.today()

    except Exception, e:

    print traceback.format_exc()

    然后放入cron,你懂的。

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 网站万能信息采集器

    2012-08-10 10:01:30
    采集网站上面的图片和文字信息,很实用 。
  • 在一些场景下,Python网络爬虫可以使用SQLite存储采集到的网页信息。GooSeeker爬虫DS打数机将在7.x版本支持SQLite,不妨想想一下Python网络爬虫与DS打数机连接在一起会怎样。 ###4,文档修改历史 2016-07-08:V1.0,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,158
精华内容 1,663
关键字:

信息采集器