gpt4 book ai didi

html - 我如何获取 Nokogiri 抓取的 HTML 并将其作为 UTF-8 输出到终端?

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:18 25 4
gpt4 key购买 nike

非常编程新手,我正在用 Ruby 1.9.3 编写一个小练习程序,它使用 Nokogiri 查询带有邮政编码的加拿大议会网站,然后打印姓名相应的国 session 员及其乘车前往终点站。

我的代码获取页面并很好地隔离 MP 的名称/骑行,但在 shell 中将 UTF-8 字符显示为纯 ASCII。我希望显示 UTF-8 字符。

我知道 shell 可以处理 UTF-8,因为:

irb> riding = "St-Jérôme"
=> "St-Jérôme"
irb> puts riding
St-Jérôme
=> nil

我用来获取页面的代码:

page = Nokogiri::HTML(open("http://parl.gc.ca/ParlInfo/Compilations/HouseOfCommons/MemberByPostalCode.aspx?PostalCode=#{postalcode}"))

这是当我键入 puts page 时此代码返回的示例:

<span id="ctl00_cphContent_repMP_ctl00_grdConstituencyAddress_ctl02_Label12">St-J&Atilde;&copy;r&Atilde;&acute;me</span>

所以“St-Jérôme”在页面输出中变成“St-Jérôme”,或者只是“St- Jérôme”在终端中。

也许有一种方法可以在将其存储为字符串变量时对其进行转换?或者我可以在 Nokogiri 中设置一个选项,将其作为 UTF-8 而不是 ASCII 下拉?

我在 Google 和 Stack Overflow 上搜索了很长时间以找到答案,但没有找到任何相关或我理解的内容;同样,我对此很陌生。如果这是重复的,请指出正确的方向。

非常感谢。

最佳答案

尝试

page = Nokogiri::HTML(open("http://parl.gc.ca/ParlInfo/Compilations/HouseOfCommons/MemberByPostalCode.aspx?PostalCode=#{postalcode}"), nil, "UTF-8")

相反。这应该将页面解析为 UTF-8 并解决问题。

关于html - 我如何获取 Nokogiri 抓取的 HTML 并将其作为 UTF-8 输出到终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com