javascript使用Jsoup提取“隐藏”HTML
我试图获取源文档中没有出现但可以公开的HTML数据,例如,通过Google Chrome中的“inspect元素”
该行下方显示了许多包含美国专利号9000000转让数据的div元素
<script async="async" type="text/javascript" src="https://components.uspto.gov/js/ais/2-2-assignment-search.js"></script>
有没有办法用Jsoup提取这个隐藏的html
# 1 楼答案
数据似乎是用AJAX加载的。JSoup不处理Javascript
您需要的是一个“无头浏览器”API,它可以处理Javascript而不实际呈现任何内容
HtmlUnit似乎是最有名的工具,尽管我自己从未使用过。如前所述,Selenium Webdriver也是一个选项
我相信你将不得不加载URL,等待所有的AJAX处理,最终你将得到几乎与你在Java Chrome中得到的解析树相同的解析树,以实现你的愿望
# 2 楼答案
如果这是您需要的唯一信息,以下是您所需信息的
JSON
url:http://prod-proxy-lb-2117675230.us-east-1.elb.amazonaws.com/solr/aotw/search?json.wrf=jQuery1102004354461841285229_1448413727331&q=9000000&facet.date.other=before&rows=20&start=0&wt=json&facet.date.start=NOW%2FYEAR-50YEARS&fl=id%2CreelNo%2CframeNo%2CconveyanceText%2CpatAssigneeName%2CpatAssignorName%2CinventionTitleFirst%2CapplNumFirst%2CpublNumFirst%2CpatNumFirst%2CintlRegNumFirst%2CcorrName%2CcorrAddress1%2CcorrAddress2%2CcorrAddress3%2CpatAssignorEarliestExDate%2CfilingDateFirst%2CpublDateFirst%2CissueDateFirst%2CintlPublDateFirst%2CpatNumSize&hl.fl=reelNo%2CframeNo%2CpatAssigneeName%2CpatAssignorName%2CconveyanceText%2CinventionTitleFirst%2CapplNumFirst%2CpublNumFirst%2CpatNumFirst%2CintlRegNumFirst%2CcorrName%2CcorrAddress1%2CcorrAddress2%2CcorrAddress3&hl.requireFieldMatch=true&sort=patAssignorEarliestExDate+desc%2C+id+desc
这是通过检查Chrome开发者工具的网络选项卡检索到的,您可以使用
HttpConnection
获取此url的内容。例如here。获取JSON
文件后,您可以对其进行解析,以检索所需的任何信息