【问题标题】:Given a URL Find The Contact Link给定一个 URL 找到联系链接
【发布时间】:2012-11-29 13:19:19
【问题描述】:

我有一个网址,我必须在网址中找到一个联系链接。

所以我所做的是使用 simple_html_dom.php 循环遍历所有 a 标签,如果它包含单词“contact”或“advertis”,那么它就是联系人 url。但这实际上很慢。

所以我现在想要做的是使用 curl 抓取页面(没问题,将来甚至是多卷曲),如果链接包含“联系人”或“广告”。

我会使用 preg_match_all 但正则表达式会是什么?

【问题讨论】:

  • 如何利用 google 为您进行搜索\爬行?
  • Dom, xpath, //a[contains(@href,'contact')]... 完成。而“simple dom”适用于拥有大量空闲 CPU 周期的人……慢、慢、慢。
  • 什么是simple_html_dom.php?需要参考
  • @Alexander:又一个基于非 libxml 的 html/xml 解析器。请参阅this 进行比较。
  • 您不想使用正则表达式来解析 HTML。他们不能胜任这项任务。 htmlparsing.com/regexes.html 解释了原因,htmlparsing.com/php.html 给出了如何使用 DOM 模块解析 HTML 的示例。

标签: php regex html-parsing web-scraping


【解决方案1】:
preg_match_all('/\<a href\=\"(.*?(contact|advertis)+.*?)\"\>(.+?)\<\/a>/m', $page, $matches);

【讨论】:

  • 谢谢,这行得通。我将使用这个或 DOM 模块。谢谢!
猜你喜欢
  • 2014-11-02
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多