Javascript 使用PHP web爬虫查找没有特定元素的特定单词

Javascript 使用PHP web爬虫查找没有特定元素的特定单词,javascript,php,html,web-scraping,web-crawler,Javascript,Php,Html,Web Scraping,Web Crawler,下面我将介绍如何使用php制作网络爬虫,但是我很困惑如何在不指定元素的情况下搜索单词。因此,单词搜索是基于所有可用数据进行的。 因为这里的问题是,现在我使用元素指定要搜索的数据,但是当没有元素时,结果是空的 这是我的密码 <?php include "simple_html_dom.php"; $html = file_get_html('https://adityadees.blogspot.com/'); foreach($html->find('<p>') as

下面我将介绍如何使用php制作网络爬虫,但是我很困惑如何在不指定元素的情况下搜索单词。因此,单词搜索是基于所有可用数据进行的。 因为这里的问题是,现在我使用
元素指定要搜索的数据,但是当没有元素
时,结果是空的

这是我的密码

<?php
include "simple_html_dom.php";
$html = file_get_html('https://adityadees.blogspot.com/');

foreach($html->find('<p>') as $element) 
if (strpos($element, 'yang') !== false) {
    echo $element;
} else {
    echo $element;
}
?>
但我有这样的错误

致命错误:未捕获ArgumentCounter错误:参数太少,无法 函数simple\u html\u dom::find(),传入0 C:\xampp\htdocs\crawl\index.php位于第5行,在 C:\xampp\htdocs\crawl\simple_html_dom.php:1975堆栈跟踪:#0 C:\xampp\htdocs\crawl\index.php(5):simple_html_dom->find()#1{main} 在1975行的C:\xampp\htdocs\crawl\simple\u html\u dom.php中抛出

那么:

foreach($html->find('<body>') as $element) 
if (strpos($element, 'yang') !== false) {
    echo $element;
} else {
    echo $element;
}
foreach($html->find(“”)as$element)
if(strpos($element,'yang')!==false){
echo$元素;
}否则{
echo$元素;
}

检查给定页面的源代码后,您可以看到post summary位于带有class=item snippet的div标记内

<div class='item-snippet'> Bagaimana Cara Mengganti Akun Mobile Legend ?  itulah yang selalu dipertanyakan oleh orang yang baru memulai bermain game Mobile Legend.  S...</div>
结果:

Bagaimana Cara Mengganti Akun Mobile Legend ? itulah yang selalu dipertanyakan oleh orang yang baru memulai bermain game Mobile Legend. S...
Bagaimana Cara Mengaitkan Akun Mobile Legend di Patch Baru ? Mungkin masih ada yang bingung tentang cara mengaitkan akun mobile legend den...
Kali ini kita akan membahas tentang bagaimana cara menghitung luas persegi panjangan dengan PHP Hal yang pertama dilakukan adalah membuat ...

这是您要查找的吗?

是否要查找包含给定单词的所有段落/文本

<?php 
include('simple_html_dom.php');

$html = file_get_html('https://adityadees.blogspot.com/');

$strings_array = array();

//it searches for any (*) tag with text yang in it
foreach($html->find('*[plaintext*=yang]') as $element) {
    //take only elements which doesn't have childnodes, so are last ones in recursion 
    if ($element->firstChild() == null) {
        //there still are duplicate strings so add only unique values to an array
        if (!in_array($element->innertext, $strings_array)) {
            $strings_array[] = $element->innertext;

        }
    } 
}

echo '<pre>';
print_r($strings_array);
echo '</pre>';

?>

因此,输入是网页和一个单词,输出应该只告诉网页中是否存在该单词?预期结果与@user11222393相同,只是没有指定某些元素,换句话说,输入是整个网页。因为这个词可能在页脚或其他部分。如果你有这个词,为什么要显示整个段落?您的问题标题让我想检查网页中是否存在该词。是的,我预期的结果是这样的,但没有指定元素的某些部分。想象一下,使用ctrl+f查找单词部分。换句话说,在所有网页上搜索单词。使用该代码,结果不会显示搜索结果。但为什么这不适用于其他网页?我尝试更改url,结果如何?它对我有用。它找到了9个字符串,其中包含12个杨词。在源代码中有13个,因为其中一个在meta tagok中。很抱歉,我看不出你们是否消除了数据冗余,所以我计算错了。非常感谢你。
include('simple_html_dom.php');

$html = file_get_html('https://adityadees.blogspot.com/');

foreach($html->find('div[class=item-snippet]') as $element) {

    if (strpos($element, 'yang') !== false) {

        echo $element;

    } 

}
Bagaimana Cara Mengganti Akun Mobile Legend ? itulah yang selalu dipertanyakan oleh orang yang baru memulai bermain game Mobile Legend. S...
Bagaimana Cara Mengaitkan Akun Mobile Legend di Patch Baru ? Mungkin masih ada yang bingung tentang cara mengaitkan akun mobile legend den...
Kali ini kita akan membahas tentang bagaimana cara menghitung luas persegi panjangan dengan PHP Hal yang pertama dilakukan adalah membuat ...
<?php 
include('simple_html_dom.php');

$html = file_get_html('https://adityadees.blogspot.com/');

$strings_array = array();

//it searches for any (*) tag with text yang in it
foreach($html->find('*[plaintext*=yang]') as $element) {
    //take only elements which doesn't have childnodes, so are last ones in recursion 
    if ($element->firstChild() == null) {
        //there still are duplicate strings so add only unique values to an array
        if (!in_array($element->innertext, $strings_array)) {
            $strings_array[] = $element->innertext;

        }
    } 
}

echo '<pre>';
print_r($strings_array);
echo '</pre>';

?>