首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序化表单提交

程序化表单提交
EN

Stack Overflow用户
提问于 2008-12-26 12:54:27
回答 4查看 13.7K关注 0票数 3

我想要抓取网页的内容。内容是在填写并提交该网站上的表单后生成的。

我已经阅读了如何抓取最终结果内容/网页-但是如何以编程方式提交表单呢?

我正在使用python,并且已经读到我可能需要获取表单的原始网页,解析它,获取表单参数,然后执行X?

谁能给我指出正确的方向?

EN

回答 4

Stack Overflow用户

发布于 2008-12-26 13:25:55

您需要生成一个包含表单数据的HTTP请求。

表单将如下所示:

代码语言:javascript
复制
<form action="submit.php" method="POST"> ... </form>

这告诉你请求的url是www.example.com/submit.php,你的请求应该是一篇帖子。

表单中将有几个输入项,例如:

代码语言:javascript
复制
<input type="text" name="itemnumber"> ... </input>

您需要创建一个包含所有这些输入URL对的字符串,这些输入URL对被附加到您请求的name=value的末尾,现在它变成了www.example.com/submit.php?itemnumber=5234&otherinput=othervalue等……这将很好地用于GET。POST就有点棘手了。

代码语言:javascript
复制
</motivation>

只要遵循S.Lott的链接,就可以获得一些更容易使用的库支持:P

票数 2
EN

Stack Overflow用户

发布于 2008-12-26 13:29:30

使用python,我认为需要执行以下步骤:

  1. 分析包含表单的网页,找出表单提交地址和提交方法("post“或”get“)。

this explains form elements in html file

  1. 使用urllib2提交表单。你可能需要一些函数,比如urllib中的"urlencode","quote“来为post方法生成url和数据。有关详细信息,请阅读库文档。
票数 2
EN

Stack Overflow用户

发布于 2008-12-26 13:45:29

从一个类似的问题- options-for-html-scraping -您可以了解到,在Python中您可以使用Beautiful Soup

Beautiful Soup是一个Python HTML/XML解析器,专为屏幕抓取等快速周转项目而设计。它有三个强大的特性:

如果你给了

  1. 美汤不好的标记,它不会被卡住。它会生成一个语法分析树,其意义与原始文档大致相同。这通常足以收集您需要的数据并运行Pythonic为导航、搜索和修改解析树提供了一些简单的方法和Python化的习惯用法:一个用于剖析文档和提取所需内容的工具包。您不必为每个UTF创建自定义解析器,application.
  2. Beautiful会自动将传入文档转换为Unicode,并将传出文档转换为UTF8。您不必考虑编码,除非文档没有指定编码,并且Beautiful Soup无法自动检测编码。然后,您只需指定原始编码。

不同寻常的名字caught the attention of our host,2008年11月12日。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/393738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档