在HTML中查找链接

时间:2012-11-29 14:22:52

标签: php regex web-scraping

  

可能重复:
  How to parse and process HTML with PHP?

我正在编写一个脚本,该脚本应该废弃页面的html并在页面上找到“联系人”或“联系我们”网址。所以我拥有的是url,我能够使用curl获取页面的html。

现在我需要做的就是找到联系人链接并尝试提取电子邮件地址和电话号码。

我的问题是我如何喜欢联系网址?我应该寻找什么?也许链接文本应该在其中包含单词contact,或者url应该有单词contact?正则表达式会是什么样的?

第二,我认为一旦我有联系页面,我应该能够找到一个正在提取电子邮件地址和电话号码的正则表达式。所以我只需要找到联系链接。我正在抓的这些页面是博客。

2 个答案:

答案 0 :(得分:1)

要查找联系页面网址,我认为使用XML解析器“扫描”DOM(例如:标记)会更好。

如果你了解jQuery,你可以使用phpQuery,一个模仿jQuery选择器的PHP HTML解析器。

基本上,使用Regex解析HTML通常是一个坏主意,请参阅Parsing Html The Cthulhu Way

答案 1 :(得分:0)

你可以卷曲那个联系页面然后只是preg_match $ result = curl_exec($ resource)

preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $result, $matches);
  print_r($matches[0]);