Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 简单HTMLDOM解析器&;Web浏览器返回不同的HTML_Php_Mysql_Screen Scraping_Web Scraping_Simple Html Dom - Fatal编程技术网

Php 简单HTMLDOM解析器&;Web浏览器返回不同的HTML

Php 简单HTMLDOM解析器&;Web浏览器返回不同的HTML,php,mysql,screen-scraping,web-scraping,simple-html-dom,Php,Mysql,Screen Scraping,Web Scraping,Simple Html Dom,我正在使用解析网页 问题:然而,废弃的HTML内容似乎与我使用web浏览器时得到的内容不同。是什么导致了这种差异?如何使用简单的HTML Dom获得与web浏览器显示的内容相同的内容 PHP public function action_asos() { include_once('/home/mysite/public_html/application/libraries/simple_html_dom.php'); $category_url = 'http://www.

我正在使用解析网页

问题:然而,废弃的HTML内容似乎与我使用web浏览器时得到的内容不同。是什么导致了这种差异?如何使用简单的HTML Dom获得与web浏览器显示的内容相同的内容

PHP

public function action_asos() {

    include_once('/home/mysite/public_html/application/libraries/simple_html_dom.php');

    $category_url = 'http://www.asos.com/Men/T-Shirts-Vests/Cat/pgecategory.aspx?cid=7616#parentID=-1&pge=0&pgeSize=100&sort=1';

    $html = file_get_html($category_url);

    foreach($html->find('html') as $content) {
        echo $content;
    }

}
实际页面:

http://www.asos.com/Men/T-Shirts-Vests/Cat/pgecategory.aspx?cid=7616#parentID=-1&pge=0&pgeSize=100&sort=1

使用简单HTML DOM检索


您需要提供一个用户代理。无论出于何种原因,缺少用户代理都会导致服务器阻塞。

您检索的内容有什么不同?由于用户代理的不同,您可能会得到不同的HTML。此外,URL中的“#”不应该替换为“&”吗?这看起来不应该是一个片段。添加了使用PHP检索的HTML的屏幕截图。我不知道为什么URL中有一个
#
,可能是Javascript路由器在使用它。转储它,在服务器端进行呼叫时它是无用的。我尝试了没有
#
的URL,仍然在浏览器上加载我想要的内容,但PHP检索的HTML与以前一样:(嗅探服务器上实际发送的HTTP请求)。