我尝试从网站上获取新闻
,但我无法从网页内容中提取任何内容。
当我应用file_get_contents()
时,我得到其他功能不起作用的字符串。最初,我尝试使用file_get_html()
中的simple_html_dom.php
,但此源中的其他函数无法识别获取的DOM中的任何元素。
关于其他功能:
<?php
$content = file_get_contents('http://www.science-support.ru/news.html'); //normal page
$content = substr($content,20); //strange characters
$content_arr = explode( 'div id="box3"' , $content ); //doesn't work
echo $content;
echo $content_arr[0];
?>
在substr()之后我得到类似
的东西" <�/tr> <�/table> <�/div> <�div id="box3"><�!-- InstanceBeginEditable name="page-content" --> <�h4 class="yellow">14.11.2014 />2>AB8 $>=40/<�/h4> <�p>1JO2;O=K @57C;LB0BK :>=:C@A0 =0 ?@8AC645=85 ?>8A:>2KE 3@0=B>2 ?> @>3@0<<5 =0CG=>-B5E=8G5A:>9 <>45@=870F88 8 ?>2KH5=8N :20;8D8:0F88 <>;>4KE CG5=KE >AA88 2014-2015 33.<�a href="news/news2014-nota-res.html" class="txt" >?>4@>1=55<�/a><�/p>"
如何提取可读内容?感谢
答案 0 :(得分:2)
尝试从Curl执行此操作我发布了一些可以帮助您的代码
<?php
if( isset( $_POST['site_url'] ) && !empty( $_POST['site_url'] ) ){
echo get_html($_POST['site_url']);
} else {
echo 'false';
}
function get_html($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
从你的html表单获取网站网址这是html如何设置
<div class="col-md-offset-2 col-md-8">
<form role="form" id="siteform" method="post">
<div class="form-group">
<input type="url" class="form-control" name="site_url" id="site_url" placeholder="Enter your site address">
<span class="help-block"></span>
</div>
<button data-loading-text="Please wait..." type="submit" id="url_getter" class="btn btn-default btn-success">Submit</button>
</form>
</div>
</div>