我一直在尝试抓取这个网站:http://www.e3050.com/Cases-Fans-PDU/C
除了移动到下一页,我可以正常抓取任何内容,调试后我发现他们为每个页面请求发送 __Viewstate 参数。 viewstate 参数存储在每个页面响应中,所以我想我需要按页面获取它并将其发送到下一个页面。 我使用此 xpath 获取 __viewstate :
sel.xpath('//input[@id="__VIEWSTATE"]/@value').extract()
我也遇到了一个错误,因为他们发送的 View 状态与他们页面响应中列出的 View 状态不同,两个参数都是 64 位编码的,但他们发送的每个请求的数据比我从页面响应中获得的数据多.
我该如何处理?以及他们如何获得 View 状态参数?
编辑: __EVENTVALIDATION 参数也有同样的问题。
最佳答案
__VIEWSTATE 是 .net 中出于安全原因使用的参数。 它基本上是您请求的页面的推荐页面的哈希值。 它通常嵌入在标签中,您只需在每次请求之前提取它并将其添加到您的下一个请求中。
关于python - 如何使用 Viewstate 参数抓取页面请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26034607/