在 php 中获取页面的源代码
Get the source code of a page in php
首先感谢您的下一个回复。
我无法获取页面的源代码(提取内容)
http://steamcommunity.com/market/search?q=booster#p2 (-->$path)
这是我的第一个源代码:
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $path);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
$file_contents = curl_exec($ch);
curl_close($ch);
$file_contents = htmlentities($file_contents);
print_r($file_contents);
这里是第二次试验:
$fp=null;
$fp=@fopen($path,"r");
$contenu = "";
if($fp){
while(!feof($fp)){
$contenu .= stream_get_line($fp,65535);
}
print_r($contenu);
}
else{
echo "Impossible d'ouvrir la page $path";
}
有了这段代码,我得到了这个页面的源代码:http://steamcommunity.com/market/search?q=booster 或这个页面..../market/search?q=booster#p1
我说火狐显示的源代码不好,只有 dom 检查器才能让我看到"真实"的源代码。你有解决方案吗?
您将无法使用PHP执行此操作。你需要执行页面的javascript来获取渲染的DOM。 (渲染的DOM是你在使用DOM检查器时看到的。
也许使用 PhantomJS 打开页面并获取渲染的 DOM。请参阅使用幻影.js评估,如何获取页面的 HTML?。
您访问了错误的网址。相反,在其中点击 AJAX 查询并将其解析为 JSON:
$f = file_get_contents(
"http://steamcommunity.com/market/search/render/?" .
"query=booster&start=10&count=10"
);
$t = json_decode( $f );
print_r( $t );
你会得到一个整齐有序的结构,例如:
stdClass Object (
[success] => 1
[start] => 0
[pagesize] => 10
[total_count] => 330
[results_html] => <div class="market_listing_table_header">
...
从本质上讲,用于呈现页面的 JSON 文件可以在 PHP 中被解读为一个简洁的结构。或者足够近。您仍然需要使用 DOM 文档/XPath 演练$t->results_html
以进行进一步解析。
我说火狐显示的源代码不好,只有 dom 检查器才能让我看到"真实"的源代码。你有解决方案吗?
这完全是倒退。DOM 检查器向您显示页面的当前状态,由 Javascript 和/或用户修改(例如,表单状态更改)。Firefox 的"查看源代码"显示的源代码是 Web 服务器提供的"真实"源代码。
- 活动选项卡's源代码-获取变量s值
- 如何从函数名称中获取JavaScript的源代码
- 获取函数原型的源代码
- 获取外部javascript的完整源代码
- 如何使用javascript获取页面源代码
- 让浏览器获取源代码并重新编译脚本以进行实时编辑
- Selenium Java-通过JavascriptExecutor获取页面源代码
- 使用jquery获取其他域名网站的源代码
- 使用美丽汤获取“视图元素”代码,而不是“查看源代码”代码
- 如何从 URL HTML 源代码中获取特定信息
- 如何在不获取整个源代码的情况下解析 HTML 源代码
- 加载页面以获取cookie并同时读取源代码
- 获取外部页面的源代码**使用本机JS**
- 我可以使用Jquery获取元素的HTML源代码吗?
- 在 php 中获取页面的源代码
- 使用 javascript 和 DOM 获取当前页面的源代码
- 获取格式正确的 html 源代码
- 在 Python 中使用请求获取页面但不使用源代码,为什么?如何获取源代码
- 如何从网页获取源代码
- 使用javascript获取html源代码,包括样式