domxpath 相关问题

domxpath是PHP的DOM API中的一个类,用于支持XPATH 1.0

获取标题、URL、描述并将其插入数据库

我是新来的,需要帮助来修复我的代码。 我正在尝试使用 DomXPath 编写代码,从 bing 搜索中获取标题、网址和描述,然后将其保存到我的数据库中。 这是代码: 我是新来的,需要帮助来修复我的代码。 我正在尝试使用 DomXPath 编写代码,从 bing 搜索中获取标题、网址和描述,然后将其保存到我的数据库中。 这是代码: <?php $s="something-words"; $keywords = strstr($s, '-') ? str_replace('-', '+', $s) : $s; $html5 = new DOMDocument(); @$html5->loadHtmlFile('http://www.bing.com/search?q='.$keywords.'&go=&qs=bs&filt=all'); $xpath5 = new DOMXPath($html5); $nodes = $xpath5->query('//div[@class="sb_tlst"]/h3'); $nodes = $xpath5->query('//div[@class="sb_meta"]/cite'); $nodes = $xpath5->query('//div[@id="results"]/ul[@id="wg0"]/li/div/div/p'); $data = array(); $data2 = array(); $data3 = array(); $i = 0; foreach ($nodes as $node) { $data = $node->textContent; $i++; // insert table urlgrab mysql_query( "INSERT INTO urlgrab(title) Values ('$data')"); $data2 = $node->textContent; $i++; // update table urlgrab dbConnect(); mysql_query( "UPDATE urlgrab SET url='$data2' WHERE title='$data'" ); $data3 = $node->textContent; $i++; // update table urlgrab dbConnect(); mysql_query( "UPDATE urlgrab SET description='$data3' WHERE title='$data'" ); } ?> 问题是我在数据库中得到相同的标题、网址、描述结果。如何修复此代码以将所有数据标题、网址和描述保存到我的数据库中? 由于您的代码混乱,因此很难识别。但假设我生成了下面的代码,它应该适合你。 $titles = $xpath5->query('//div[@class="sb_tlst"]/h3'); $urls = $xpath5->query('//div[@class="sb_meta"]/cite'); $descriptions = $xpath5->query('//div[@id="results"]/ul[@id="wg0"]/li/div/div/p'); $arrTitle = array(); foreach($titles as $title){ $arrTitle[] = $title->textContent; } $arrUrl = array(); foreach($urls as $url){ $arrUrl[] = $url->textContent; } $arrDescription = array(); foreach($descriptions as $description){ $arrDescription[] = $description->textContent; } $i = 0; dbConnect(); foreach ($i=0; $i < count($arrTitle); $i++) { $title = $arrTitle[$i]; $url = $arrUrl[$i]; $description = $arrDescription[$i]; mysql_query( "INSERT INTO urlgrab(`title`, `url`, `description`) Values ('$title', '$url', '$description')"); } *删除循环中的$i++;,然后运行。实际上,我们正在 $i++ 循环中执行 for * 这将解决您的问题。

回答 1 投票 0

从节点获取 XPath 位置谓词

有没有办法从节点的某个实例获取 XPath 位置谓词? 所以我搜索了一个position(Node)函数,它返回DOM树中节点的位置。 示例:页面...

回答 1 投票 0

初学者头痛的PHP DOMXPath

我尝试编写一个简单的PHP来抓取html页面。 不知道为什么我得不到结果? 这是我的一些 PHP 代码: //$html , 成功获取“http://m.hkolden.com/topics.aspx...

回答 1 投票 0

xpath 选择<p><a></a></p>,但不选择<p>sometext<a>link</a>或某些文本</p>

所以我需要将“inlineAssetLink”类注入到作为段落一部分的锚标记中,但将“blockAssetLink”类注入到空段落内的锚标记中。 不确定

回答 1 投票 0

为什么 XPath 返回的元素比我预期的要多?

为什么 //div["someClass"]/p[1] 也使用 XPath 返回未包装在请求的 div 元素中的 p 标签?只有 //*/div["someClass"]/p[1] 返回带有 exa 的预期结果...

回答 1 投票 0

寻找精确/高效的动态Xpath

我在很长一段时间后在(任何战斗预订搜索引擎 - MMT 作为参考)上练习 Xpath 创建,并且很少有与动态 xpath 相关的查询。我的查询如下 已经写了一个 xpath 到...

回答 2 投票 0

使用Xpath在DOMNodes上迭代。

我试图从一些html中提取选项标签的内容,使用这个8年前的帖子中的方法。用PHP解析HTML获取所有选项标签 唯一不同的是,我已经 ...

回答 1 投票 1

如何剥离没有ID和Class的元素的html标签?

长话短说!我需要删除所有没有ID和Class设置的SPAN标签。我需要删除所有没有ID和Class设置的SPAN标签。我找到了DOMXPath查询选择器,但我无法理解如何删除标签并保持文本不受影响。...

回答 1 投票 0

通过PHP脚本选择并获取特殊的svg元素

需要通过PHP脚本在SVG文件内使用特殊(动态)ID获取和修改组g中的第一个多边形。使用DOMDocument()和DOMXPath找不到此元素。请帮助PHP:$ svg = ...

回答 1 投票 0

如何在标记和某些结束标记之间使用XPath提取文本

我提供了以下HTML。类名始终相同。只有标签之间的文本不同,并且长度和内容也不同。 Not this text &...

回答 1 投票 0

php-使用DOMXPath查询表

我尝试使用php表达式DOMXPath :: query访问网页上表的值。当我在此页面中使用Web浏览器导航时,可以看到此表,但是当我执行查询时,此...

回答 1 投票 1

PHP:“无法获取DOMElement。使用DOMXpath

我有一些包含此内容的HTML:

回答 1 投票 0

Xpath在每个li后插入“,”

我有一段代码和XPath可以导出它。代码为: [[[...

回答 1 投票 0

Web抓取PHP

我正在尝试抓取此网站:www.odds.scanner.com,但是我的代码在输出中看不到任何内容。我该如何解决?

回答 2 投票 0


DOMDocument DOMXpath存储属性,例如php中的唯一ID

我想检测dom结构的差异并比较节点。因此,我为每个DOMElement / DOMText对象设置了一个特殊的对象属性“ uniqid”。这有效:

回答 1 投票 0

使用php中的xpath创建preg_match

我正在尝试使用php中的XPATH获取内容。 [[[Hi

回答 2 投票 2

PHP DOMXPath使用完整路径获取值-无ID

我正在尝试通过直接XPath获取元素的值,因为该元素没有ID。 $ dom =新的DOMDocument(); @ $ dom-> loadHTML($ rawHTML); $ finder =新的DOMXPath($ dom); //效果很好$ ...

回答 1 投票 0

DOMXPath-如何在HTML标签中包装元素?

我想扭曲一个元素 。这是我到目前为止的代码:$ dom_err = libxml_use_internal_errors(true); $ dom = new \ DOMDocument('1.0','...

回答 1 投票 0

DOMXPATH评估具有可变嵌套位置的字符串

我一直在使用DOMXPATH,我喜欢它,但我需要使其更加直观。一些客户在他们的代码中添加了一些额外的HTML,这使我们的项目搞砸了。示例1: ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.