Php 使用简单的HTMLDOM从div中提取粗体文本
在一个脚本项目上,我花了4个小时来研究我能做的一切——我的大脑在这件事上已经不起作用了,真的需要你的帮助 所以我有一个PHP cURL脚本,可以从网站获取数据。我能抓到有身份证的div等等。但是,如何从没有任何ID/class/或任何特定内容的DIV中获取特定文本,除了它是DIV中唯一的粗体项这一事实之外 以下是网站上的HTML文本:Php 使用简单的HTMLDOM从div中提取粗体文本,php,html,curl,simple-html-dom,Php,Html,Curl,Simple Html Dom,在一个脚本项目上,我花了4个小时来研究我能做的一切——我的大脑在这件事上已经不起作用了,真的需要你的帮助 所以我有一个PHP cURL脚本,可以从网站获取数据。我能抓到有身份证的div等等。但是,如何从没有任何ID/class/或任何特定内容的DIV中获取特定文本,除了它是DIV中唯一的粗体项这一事实之外 以下是网站上的HTML文本: <div class="firststyle"><label for="calculator" class="class-coll-1">
<div class="firststyle"><label for="calculator" class="class-coll-1">
<p class="sr-only">Welcome to the calculator:</p> <b>What is one plus two?</b> </label></div>
然而,这得到了所有的文本,包括我不需要的“欢迎使用计算器”标签
是否有可能将解析后的数据保存到一个变量中,然后使用不同的脚本从该变量中提取数据
或者我可以做一些类似的事情:
查找具有此ID的div->查找其中的粗体文本
或者可能:
查找ID为的div->取出文本“Welcome to calculator”如果您有网站上的HTML,您可以使用DOMDocument类对其进行解析
$html = file_get_contents('http://www.example.com');
$dom = new DOMDocument();
$dom->loadHTML($html);
DOMDocument类附带了许多方法。这两个是您需要的getElementById
和getElementsByTagName
大概是这样的:
$html = '<div id="test"><b>I want to be found!</b></div><div id="poep"><b>Im not selected</b></div>';
$dom = new DOMDocument();
$dom->loadHTML($html);
$div = $dom->getElementById('test');
$text = $div->getElementsByTagName('b')->item(0)->nodeValue;
echo $text;
如果您从网站获得HTML,则可以使用DOMDocument类对其进行解析
$html = file_get_contents('http://www.example.com');
$dom = new DOMDocument();
$dom->loadHTML($html);
DOMDocument类附带了许多方法。这两个是您需要的getElementById
和getElementsByTagName
大概是这样的:
$html = '<div id="test"><b>I want to be found!</b></div><div id="poep"><b>Im not selected</b></div>';
$dom = new DOMDocument();
$dom->loadHTML($html);
$div = $dom->getElementById('test');
$text = $div->getElementsByTagName('b')->item(0)->nodeValue;
echo $text;
echo $html->find('.firststyle b', 0)->innertext;
#=> What is one plus two?