Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python向aspx页面提交查询并从中删除结果?_Python_Screen Scraping_Beautifulsoup - Fatal编程技术网

使用python向aspx页面提交查询并从中删除结果?

使用python向aspx页面提交查询并从中删除结果?,python,screen-scraping,beautifulsoup,Python,Screen Scraping,Beautifulsoup,我正在尝试获取此人口统计工具页面的一批查询结果: 表单上的POST操作调用相同的页面(_self),并且可能正在发布一些事件数据。我在stackoverflow的另一篇文章中读到,aspx页面通常需要一些viewstate和验证数据。我是否只是从请求中保存这些内容,然后在POST请求中重新发送 或者有没有更干净的方法?其中一个aspx viewstate参数大约有1000个字符,将其粘贴到我的代码中令人难以置信的丑陋让我认为必须有更好的方法。任何和所有的参考资料,我可以阅读将是有益的,谢谢 可能

我正在尝试获取此人口统计工具页面的一批查询结果:


表单上的POST操作调用相同的页面(_self),并且可能正在发布一些事件数据。我在stackoverflow的另一篇文章中读到,aspx页面通常需要一些viewstate和验证数据。我是否只是从请求中保存这些内容,然后在POST请求中重新发送

或者有没有更干净的方法?其中一个aspx viewstate参数大约有1000个字符,将其粘贴到我的代码中令人难以置信的丑陋让我认为必须有更好的方法。任何和所有的参考资料,我可以阅读将是有益的,谢谢

可能有用。

使用。您的POST数据是一个简单的Python字典。非常容易编辑和维护

如果表单包含隐藏字段(其中一些字段已编码),则需要执行GET以获取表单和各种隐藏字段种子值

获得表单后,可以将必要的输入值添加到给定的隐藏值中,然后再次发布响应

此外,你还必须确保处理好任何饼干。urllib2也将对此有所帮助


毕竟,这就是浏览器所能做的,而且它在浏览器中工作。浏览器不知道ASPX和WSGI的CGI,所以没有什么神奇之处,因为它是ASPX。有时,为了正确设置值和cookie,您必须在发布前执行GET操作。

我使用了一个组合,并用于类似的任务。

可能会发布一些事件数据?您需要确认这一点。您好,我目前正在使用urllib2,但我并不完全清楚应该在POST数据中包含哪些变量。我不知道这句话是否正确:你通常需要什么?aspx页面通常需要什么?@Cygorger:没有“通常”。您必须转到页面,查看源代码以查看表单是什么,然后确定所需内容。如果它通过Javascript工作,你必须阅读Javascript.S.lott:谢谢你的回复。我应该澄清我的意思。与使用Javascript的html页面相比,使用aspx页面有什么不同之处吗。我不确定这一点,但这里的POST查询似乎依赖于将一些隐藏值发送回服务器,以及我是否可以简单地存储以前调用中的值并再次使用(这似乎不起作用)。这篇文章似乎很相关:谢谢你的建议。我尝试了mechanize并得到了一些html解析错误。查看是否可以通过lxml或Beautifulsoup运行页面以清理页面并将其推回到浏览器()中