相关疑难解决方法(0)

2071
推荐指数
28
解决办法
40万
查看次数

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

抓取A元素的href属性

试图在页面上找到链接.

我的正则表达式是:

/<a\s[^>]*href=(\"\'??)([^\"\' >]*?)[^>]*>(.*)<\/a>/
Run Code Online (Sandbox Code Playgroud)

但似乎失败了

<a title="this" href="that">what?</a>
Run Code Online (Sandbox Code Playgroud)

我如何更改我的正则表达式来处理未首先放在标签中的href?

html php dom

113
推荐指数
3
解决办法
9万
查看次数

抓取网站,获取链接,使用PHP和XPATH抓取链接

我想抓取整个网站,我已经阅读了几个线程,但我无法在第二级获取数据.

也就是说,我可以从起始页面返回链接,但后来我找不到解析链接并获取每个链接内容的方法......

我使用的代码是:

<?php

    //  SELECT STARTING PAGE
      $url = 'http://mydomain.com/';
      $html= file_get_contents($url);

     // GET ALL THE LINKS OF EACH PAGE

         // create a dom object

            $dom = new DOMDocument();
            @$dom->loadHTML($html);

         // run xpath for the dom

            $xPath = new DOMXPath($dom);


         // get links from starting page

            $elements = $xPath->query("//a/@href");
            foreach ($elements as $e) {
            echo $e->nodeValue. "<br />";
            }

     // Parse each page using the extracted links?

 ?>
Run Code Online (Sandbox Code Playgroud)

有人可以通过一个例子来帮我解决最后一部分吗?

我将非常感激!


那么,谢谢你的答案!我尝试了一些东西,但我还没有得到任何结果 - 我是编程的新手..

下面,您可以找到我的两个尝试 - 第一个尝试解析链接,第二个尝试用Curl替换file_get内容:

 1) 

<?php 
  // …
Run Code Online (Sandbox Code Playgroud)

php xpath web-crawler hyperlink

7
推荐指数
1
解决办法
3万
查看次数

PHP - 有一种安全的方法来执行深度递归吗?

我正在谈论进行大约5分钟以上的深度递归,这可能是你可能有一个爬虫表演的东西.为了提取网页的url链接和子url链接

似乎PHP中的深度递归似乎并不现实

例如

getInfo("www.example.com");

function getInfo($link){
   $content = file_get_content($link)

   if($con = $content->find('.subCategories',0)){
      echo "go deeper<br>";
      getInfo($con->find('a',0)->href);
   }

   else{
      echo "reached deepest<br>";
   }
}
Run Code Online (Sandbox Code Playgroud)

php recursion web-crawler

1
推荐指数
1
解决办法
708
查看次数

如何在php中创建搜索引擎?

我即将创建一个非常大的项目.

如何创建具有以下功能的搜索引擎: -

  1. 我给它一个URL,它将获得该页面中的所有可用链接
  2. 它应该读取robots.txt文件以确保索引内容和索引内容
  3. 我想让它将任何页面添加到数据库中的任何站点而不重新绘制它
  4. 它读取xml站点地图
  5. 如何使用关键字

如果可能的话,请:我如何构建我的数据库?

php search-engine

0
推荐指数
1
解决办法
1578
查看次数