程序化表单提交
我想抓取网页的内容。 内容是在该网站上填写并提交表格后生成的。
我已经阅读了如何抓取最终结果内容/网页 - 但如何以编程方式提交表单?
我正在使用 python 并读到我可能需要获取带有表单的原始网页,解析它,获取表单参数,然后执行 X?
有人能指出我正确的方向吗?
I want to scrape the contents of a webpage. The contents are produced after a form on that site has been filled in and submitted.
I've read on how to scrape the end result content/webpage - but how to I programmatically submit the form?
I'm using python and have read that I might need to get the original webpage with the form, parse it, get the form parameters and then do X?
Can anyone point me in the rigth direction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用python,我认为需要以下步骤:
这解释了 html 文件中的表单元素
Using python, I think it takes the following steps:
this explains form elements in html file
您需要生成一个包含表单数据的 HTTP 请求。
该表单将类似于:
这告诉您请求的 url 是 www.example.com/submit.php 并且您的请求应该是 POST。
表单中将有几个输入项,例如:
您需要创建一个由所有这些输入名称=值对组成的字符串,该字符串为附加到请求的 URL 末尾的 URL 进行编码,现在变为
www.example.com/submit.php?itemnumber=5234&otherinput=othervalue 等等...
这对于 GET 来说效果很好。 POST 有点棘手。
只需点击 S.Lott 的链接即可获得一些更易于使用的库支持:P
you'll need to generate a HTTP request containing the data for the form.
The form will look something like:
This tells you the url to request is www.example.com/submit.php and your request should be a POST.
In the form will be several input items, eg:
you need to create a string of all these input name=value pairs encoded for a URL appended to the end of your requested URL, which now becomes
www.example.com/submit.php?itemnumber=5234&otherinput=othervalue etc...
This will work fine for GET. POST is a little trickier.
Just follow S.Lott's links for some much easier to use library support :P
从类似的问题 - options-for-html-scraping - 你可以通过Python了解到可以使用美丽汤。
这个不寻常的名字引起了我们主持人的注意,2008年11月12日。
From a similar question - options-for-html-scraping - you can learn that with Python you can use Beautiful Soup.
The unusual name caught the attention of our host, November 12, 2008.
你可以用 JavaScript 来做到这一点。 如果表单类似于:
那么您可以在 javascript 中执行此操作:
您可以使用链接或按钮的“onClick”属性来调用此代码。 要在加载页面时自动调用它,请使用元素的“onLoad”属性:
You can do it with javascript. If the form is something like:
Then you can do this in javascript:
You can use the "onClick" attribute of links or buttons to invoke this code. To invoke it automatically when a page is loaded, use the "onLoad" attribute of the element: