我在jsoup上遇到了这个问题,几个月前,我部署了一个带有爬虫的war文件来从某些网站提取数据,爬虫按预期工作,但后来开始失败,我以为网站发生了变化,但那事实并非如此。
因此,在调试爬虫时,我发现数据未正确解析,因为它是另一种货币(假设我得到的是加拿大元而不是美元)。
我不知道为什么突然发生了变化,我很高兴我设置了用户代理来从特定国家/地区获取货币,但现在它似乎被忽略了。
我尝试了一些操作来查看是否有任何更改,例如将 Java 系统属性(例如 User.country
)默认更改为 US。没有结果。
注意:我的测试是在本地服务器上运行的,这里的数据始终以美元为单位,生产服务器位于澳大利亚。
我正在寻找能够在创建网络爬虫/网络爬虫时提供有关更改内容以避免这种情况的建议的人。
最佳答案
这可能是 IP 地址问题。你说生产服务器位于澳大利亚。在我看来,目标站点可能会根据原始 IP 地址呈现页面,这将导致显示为澳元。为了避免这种情况,我认为除了使用美国 IP 地址之外别无选择。您可以通过在位于美国的服务器前面使用代理来实现此目的。
关于java - Jsoup 获取错误的货币类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39922939/