search - 搜索字符串算法

标签 search full-text-search search-engine binary-search

我正在尝试从一组网站(成千上万个)中获取内容页面中的联系信息。我想问一下像你们这样的专家,然后再挠我的头。我需要的只是地址,电子邮件ID,电话号码和联系人信息(如果有)。

我认为您已经理解了问题。是的,这是格式设置...由于网站没有遵循标准格式,因此很难确定我需要的确切信息。一些网站设计有Flash Contact us页面,而另一些网站则将联系信息设计为具有自定义字体的图像类型。

大部分都欢迎使用提示/想法/建议...

谢谢....

最佳答案

正如您所期望的那样,这绝不是一件微不足道的任务。这是解决此问题的一种方法:

  • 使用反向索引系统(例如Lucene/SolrSphinx)来索引页面。您可能需要编写自己的搜寻器/蜘蛛。 Apache Nutch和其他爬虫提供了开箱即用的抓取功能。如果内容相当静态,请将其本地下载到您的系统。
  • 对内容建立索引后,您可以通过建立 bool 查询(例如)来查询电子邮件地址,电话号码等:
    //对于电子邮件//对于电话#括号Contents:@ AND(Contents:.COM或Contents.NET)OR Contents:“(” OR Contents:“)”`重要说明:不应按字面意义使用上述代码。通过使用Lucene Regex查询和跨度查询,您甚至可以得到更高级的查询,这将使您能够构建非常复杂的查询。
  • 最后,在结果页面上,(a)运行结果荧光笔以获取
    查询字词周围的代码段,然后在代码段中运行(b)
    正则表达式提取感兴趣的领域。
  • 如果您有北美地址数据集,则可以运行
    i)像Bing Maps这样的 map 提供者或Google Maps来验证地址,以进行多次验证。据我所知,USPS和其他提供收费的有效地址查询,以验证美国邮政编码和加拿大邮政编码。或ii)反向DNS查找电子邮件地址等等。...

  • 就像我说的那样,这应该可以让您入门。这里没有一个最佳解决方案,您将需要尝试多种方法来迭代并达到所需的精度水平。

    希望这可以帮助。

    关于search - 搜索字符串算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583111/

    相关文章:

    elasticsearch - ElasticSearch-使用相同的字段名称但使用不同的分析器搜索不同的doc_types

    sql - 返回在全文搜索中找到的短语的周围文本,SQL 2005

    c++ - 如何创建一个函数来查找文本中单词的匹配项,包括跳过

    ios - 在 Foursquare "Das-Quadrat"iOS API 包装器中使用 categoryId 作为搜索过滤器

    algorithm - 如何提高关键字搜索的性能?

    mysql - 用于填充网页的大量静态数据 - 存储在数据库中,还是静态的?

    search - 如何使用乌龟 git 搜索工具?

    postgresql - 我如何让 Postgresql 反射(reflect)对文本搜索配置所做的更改?

    c - 如何用c语言重写文本文件中的词频计数器程序?

    facebook - 指向 Facebook 个人资料的链接并不总是有效