Php 简单HTMLDOM解析器从表中获取tr
我正在尝试废弃Php 简单HTMLDOM解析器从表中获取tr,php,dom,web-scraping,html-table,simple-html-dom,Php,Dom,Web Scraping,Html Table,Simple Html Dom,我正在尝试废弃http://spys.one/free-proxy-list/但这里我只想通过ip:port获取代理 我查了一下网站上有3张桌子 有人能帮我吗 <?php require "scrapper/simple_html_dom.php"; $html=file_get_html("http://spys.one/free-proxy-list/"); $html=new simple_html_dom($html); $rows = arra
http://spys.one/free-proxy-list/
但这里我只想通过ip:port获取代理
我查了一下网站上有3张桌子
有人能帮我吗
<?php
require "scrapper/simple_html_dom.php";
$html=file_get_html("http://spys.one/free-proxy-list/");
$html=new simple_html_dom($html);
$rows = array();
$table = $html->find('table',3);
var_dump($table);
我真的不知道,您的简单html dom库是做什么的。无论如何现在PHP已经具备了解析特定dom元素所需的所有功能。只需使用PHPs own查询dom元素
下面是一个获取表的第一列的简短示例
$dom = new \DOMDocument();
$dom->loadHTML('https://your.url.goes.here');
$xpath = new \DomXPath($dom);
// query the first column with class "value" of the table with class "attributes"
$elements = $xpath->query('(/table[@class="attributes"]//td[@class="value"])[1]');
// iterate through all found td elements
foreach ($elements as $element) {
echo $element->nodeValue;
}
这是一个可能的例子。使用http://spys.one/free-proxy-list/
。但它向您展示了如何轻松获取特定表的第一列。现在唯一需要做的就是在给定站点的dom中为要查询的表找到正确的查询。由于给定站点的dom在很久以前就是一个非常复杂的表布局,并且您要解析的表没有唯一的id或其他东西,因此您必须找到它。尝试下面的脚本。它应该只获取所需的项目,而不获取其他内容:
<?php
include 'simple_html_dom.php';
$url = "http://spys.one/free-proxy-list/";
$html = file_get_html($url);
foreach($html->find("table[width='65%'] tr[onmouseover]") as $file) {
$data = $file->find('td', 0)->plaintext;
echo $data . "<br/>";
}
?>
请更具体地说明这个问题。有问题的代码没有错误,但它没有显示为解决实际问题所做的任何努力(获取所需的列)。另外,请提供有问题的示例输入本身,而不是作为外部链接。事实上,我想从间谍中删除代理。一个,如何使用简单的html dom解析器实现这一点?您基本上是要求我们为您编写整个代码。不是这样的。先生,这里的表没有属性类,有3个表是如何工作的?我以前检查过这个网站。但是StackOverflow不是一个为您的问题提供完整解决方案的网站。这都是一些例子,你如何自己解决问题。积极的副作用:你学到了一些东西。我的示例中显示了您所需要的一切。您只需自己查找,哪个查询是查询给定网站特定表内容的正确查询。我不是来做你的工作的,伙计真正地因为你必须独立思考而投反对票?非常感谢。很好,先生,但是怎么去港口呢?
176.94.2.84
178.150.141.93
124.16.84.208
196.53.99.7
31.146.161.238