Openrefine 无法获取手风琴内部的 html 代码
Openrefine cannot fetch html code inside accordion
我知道 openrefine 不是一个完美的网页抓取工具,但从第一步开始寻求一些帮助。
当我通过获取 url (https://profiles.health.ny.gov/hospital/view/103094) 添加列时,我无法从 openrefine 收集完整的 html 代码。它们不包含手风琴下的任何代码,例如服务、床类型等。
想通过在 openrefine 中获取来获取完整代码吗?
我正在尝试收集管理下的信息,其Xpath是“//div[4]/div/ul/li”("div#AdministrativeBox.in.collapse")
此网站使用 Javascript 动态加载其内容。您感兴趣的信息没有存储在页面的源代码中,因此Open Refine无法提取它。
但是,有一个解决方法。如果您使用 GREL 公式 value.replace('view', 'tab_overview')
转换您的 URL,您将得到 scrapable pages like this one.
请注意,OpenRefine 不使用 Xpath,而是 JSOUP selectors。要获取 "Administrative" 块的元素,您可以使用此 GREL 公式。
forEach(value.parseHtml().select('#AdministrativeBox li'), e, e.htmlText()).join(',')
结果:
我知道 openrefine 不是一个完美的网页抓取工具,但从第一步开始寻求一些帮助。
当我通过获取 url (https://profiles.health.ny.gov/hospital/view/103094) 添加列时,我无法从 openrefine 收集完整的 html 代码。它们不包含手风琴下的任何代码,例如服务、床类型等。
想通过在 openrefine 中获取来获取完整代码吗? 我正在尝试收集管理下的信息,其Xpath是“//div[4]/div/ul/li”("div#AdministrativeBox.in.collapse")
此网站使用 Javascript 动态加载其内容。您感兴趣的信息没有存储在页面的源代码中,因此Open Refine无法提取它。
但是,有一个解决方法。如果您使用 GREL 公式 value.replace('view', 'tab_overview')
转换您的 URL,您将得到 scrapable pages like this one.
请注意,OpenRefine 不使用 Xpath,而是 JSOUP selectors。要获取 "Administrative" 块的元素,您可以使用此 GREL 公式。
forEach(value.parseHtml().select('#AdministrativeBox li'), e, e.htmlText()).join(',')
结果: