抓取网页数据 php(Iscrapesitesoccasionally-8charactersinthetitle示例)
优采云 发布时间: 2022-01-05 05:08抓取网页数据 php(Iscrapesitesoccasionally-8charactersinthetitle示例)
问题描述
我会在标题中偶尔使用 UTF-8 字符来抓取 网站,但我不会将字符集指定为 UTF-8(这是一个示例)。当我使用浏览器的网站时,我要复制的数据(即标题)看起来是正确的(日文或中文。不确定)。我可以复制标题并将其粘贴到终端中,它看起来完全一样。我什至可以将它写入数据库,当我从数据库中检索它时,它看起来仍然相同且正确。
我抓取了一些偶尔在标题中收录 UTF-8 字符的网站,但没有将 UTF-8 指定为字符集(示例)。当我在浏览器中查看网站时,我想复制的数据(即标题)看起来是正确的(日语或中文……不太确定)。我可以复制标题并将其粘贴到终端中,它看起来完全一样。我什至可以将它写入数据库,当我从数据库中检索它时,它看起来仍然一样,而且是正确的。
但是当我使用 cURL 时,它打印错误。我可以从命令行运行 cURL 或使用 PHP.. 当它打印到终端时显然是不正确的,当我将它存储到数据库时它保持这种方式(记住:终端可以显示这些字符)。我已经尝试了以下所有符合条件的组合:
但是,当我使用 cURL 时,打印的数据是错误的。我可以从命令行运行 cURL 或使用 PHP .. 当它打印到终端时它显然是不正确的,当我将它存储到数据库时它仍然如此(记住:终端可以正确显示这些字符)。我已经尝试了以下所有符合条件的组合:
这些都不显示预期的字符。这非常令人沮丧,因为我可以通过访问 网站 轻松获得正确的字符,但 cURL 不能。我看了很多建议,比如这个:How to use CURL in PHP to get the page title from different CHARSET 网站?
这些都没有按预期显示字符。这非常令人沮丧,因为我只需访问该站点就可以轻松获得正确的字符,但 cURL 不能。我已经阅读了很多建议,例如:How to get web-page-title with CURL in PHP from the web-sites of different CHARSET?
解决方案一般似乎是将数据转换为UTF-8。老实说,我实际上不知道这意味着什么。上述函数是否将数据转换为 UTF-8?为什么不是 UTF-8?
一般的解决方案似乎是“将数据转换为 UTF-8.” 老实说,我实际上不知道这意味着什么。上面的函数不是将数据转换为 UTF-8 吗?为什么它不是 UTF-8?它是什么,为什么它在某些情况下可以正确显示,而对于 cURL 却不能显示?
推荐答案
你试过了吗:
$ html = iconv(gb2312, utf-8, $html);
gb2312 取自标题
gb2312 取自标题