如何使用wget保存JavaServer HTML页面?

时间:2019-04-26 16:14:19

标签: jsp web-scraping wget

http://casesearch.courts.state.md.us/casesearch/inquirySearchParam.jis

我正在尝试编写一个脚本,以在马里兰州的案件搜索网站上抓取被告席,该网站具有法庭案件的待诉席位以供公开记录。这是出于研究目的,我的目标是最终拥有一个免费站点,以便根据费用,结果等内容更轻松地搜索案件。尽管有一些麻烦。

用户首次访问该网站时,必须先接受免责声明,然后才能访问任何坞站。如果他们尝试通过直接链接访问摘要,则会将他们重定向到免责声明。

尝试从新会话访问此直接链接,您将明白我的意思。

http://casesearch.courts.state.md.us/casesearch/inquiryDetail.jis?caseId=C02CV19000081&loc=60&detailLoc=ODYCIVIL

如果我直接直接获得链接,我将最终只保存免责声明。我尝试在浏览器中接受免责声明,然后保存cookie并在wget中使用它,但这也不起作用。仍然只是重定向并将免责声明另存为jsp

1 个答案:

答案 0 :(得分:0)

这对服务器进行了一些测试,以确定需要什么。服务器实际上要求您发送特定的POST请求才能获取记录。

对于您提供的链接,所需的Wget命令为:

wget --method=POST --body-data="locationCode=DC&caseId=C02CV19000081&action=Get+Case"  --page-requisites 'http://casesearch.courts.state.md.us/casesearch/inquiryByCaseNum.jis;jsessionid=<Sess-ID>'

简单故障:

  • --method=POST:发送HTTP POST请求
  • --body-data="...":这是POST请求正文。这三个参数很明显
  • --page-requisites:下载所需的其他页面。在这种情况下,它将下载正确的CSS文件
  • URL:这是页面的URL。如果仔细看,它是搜索页面的URL以及一个额外的段。这是会话ID。为此,请在Firefox中接受免责声明,然后保存cookie。 Cookie的值是会话ID。将其添加到URL。