我在 PHP 中使用 cURL 来废弃网页。我需要得到的一些单词是日语字符。我还使用 Simple DOM Parser 来帮助我轻松地解析源代码。我在弄清楚如何正确获取日文字符时遇到了一些麻烦。每次我在我的页面上运行以下脚本时,我都会发现没有收到任何数据。我在想我需要以某种方式将字符转换为 UTF-8 标准,但我不完全确定该怎么做。它可以很好地抓取所有英文字符,所以我知道脚本确实有效。它只是不适用于其他角色。有人认为他们可以帮助我吗?我还包含了一个我正在废弃的源代码的示例。
代码:
$base = '{website url}';
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER, array('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0'));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_URL, $base);
curl_setopt($curl, CURLOPT_REFERER, $base);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$str = curl_exec($curl);
curl_close($curl);
// Create a DOM object
$html = new simple_html_dom();
// Load HTML from a string
$html->load($str);
foreach($html->find('div.holder') as $element){
if($element->find('div.img-small', 0)){
$title = '';
$image = '';
foreach($element->find('a[href]') as $tempElement){
if($tempElement->find('img')){
$image = $tempElement->find('img')->src;
} else {
$title = $tempElement->innertext;
}
}
echo $title.'<br/>';
}
}
数据:
<div class="holder">
<div class="img-small">
<a href="/link/abcd"><img src="/images/image.png"></a>
</div>
<div>
<div>
<img title="This is a title" class="valign" src="/images/image.png"><b>
<a href="/link/1234abcd">{Japanese characters}</a>
</div>
</div>
</div>