selenium - Jsoup 超时不取数据
问题描述
我有以下代码行来使用 jsoup 获取 html 文档
Document doc = Jsoup.connect("http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/")
.userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0")
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.header("Host", "nomads.ncep.noaa.gov")
.timeout(10*1000)
.get();
无论我使用什么标题,这都会超时。相同的网址:
http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/
当我在 Chrome 或 Firefox 中打孔时,它工作得很好。我在这里想念什么?非常感谢您提供的所有帮助。
解决方案
问题是,这个网站很慢,平均加载需要 30 秒(你可以通过在浏览器中加载看到)。因此,您需要将超时设置为 50 秒左右。
这应该可以解决您的问题...
Document doc = Jsoup.connect("http://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20180904/conus/")
.userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0")
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.header("Host", "nomads.ncep.noaa.gov")
.timeout(50000)
.get();
推荐阅读
- python - 节中的预定义搜索条件?
- java - 通过命令连接的 ProxySQL ssl 有效,但通过 Java 客户端无效
- kotlin - kotlin 中的统一委托属性
- css - 删除行之间的额外间距 - 网站代码
- ios - Firestore 阻止用户及其帖子
- postgresql - 更改了postgres密码,但仍然可以在没有密码的情况下访问数据库?
- typescript - 取消可观察 rxjs 链中的管道执行
- python - 没有重复单词的二元组
- android - 如何在 Jetpack Compose 中使小部件不可见?
- css - CSS可以用来使标准的加号和减号的宽度相同吗?