在Python中,如何从启用javascript的链接下载文件?

2024-09-29 21:22:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表中的网络链接列表。我想转到列表中的每个链接,并从打开的网站下载一个文件,这是打开的页面上的另一个链接,并启用了javascript!在

网络链接列表如下:

['"http://www.energychoice.ohio.gov/ApplesToApplesComparision.aspx?Category=Electric&TerritoryId=2&RateCode=1"', ] 

列表中还有更多类似于所示的链接。在

我需要去每一个链接,将打开一个网站,那将有下载文件“导出到XML”。此链接已启用javascript。在

我是Python的新手。我用的是ubuntu 2.7。在

任何帮助都将不胜感激!在


Tags: 文件网络http列表网站链接www页面
1条回答
网友
1楼 · 发布于 2024-09-29 21:22:33
  1. 查看文件下载的链接内容:

    <a id="ctl00_ContentPlaceHolder1_lnkExportToExcel" href="javascript:__doPostBack(&#39;ctl00$ContentPlaceHolder1$lnkExportToExcel&#39;,&#39;&#39;)">Export offers to XML</a>这里是\u doPostBack()js函数。

  2. 我在代码中找到了这个函数: <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['aspnetForm']; if (!theForm) { theForm = document.aspnetForm; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> 显然函数提交了一个表单。表单id是aspnetForm。在
  3. 我在代码中也发现了这个表单:<form method="post" action="ApplesToApplesComparision.aspx?Category=Electric&amp;TerritoryId=2&amp;RateCode=1" id="aspnetForm"> <div class="aspNetHidden"> <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="qqEqj+MJZCXWWypTsbeT2OudaHSwkSmxn4MMtBuWopgD50psDlTzoVSH0gMVRNktX7EW7I2uWKnF9IzD8/BkloDdz+4OSdWS7MbiJaQ2KVBHoZCFqMN0IgLe82fkuPJxk/wf1h/ZWYjOwi5XRTLZEy4JKRc...

    Dealing with ASP.NET remember they try to save/handle state of HTTP requests in a special variable: __VIEWSTATE. So each request (to and fro) this variable (input field in a form) is getting changed (increasing). Therefore it's vital to send requests thru this very form with __VIEWSTATE.

  4. 我建议您在python中模拟一个表单,它已经用来自所需链接的参数加载,尤其是从一个被刮取的页面的实际形式加载了参数__VIEWSTATE。请参阅下面的快照,其中包含单击链接和以下表单提交的重要信息:enter image description here

相关问题 更多 >

    热门问题