POST 方式表单提交

u = "http://www.rateinflation.com/consumer-price-index/usa-historical-cpi"

页面有三个form一个from一个to,还有一个提交按钮

forms = getHTMLFormDescription(u) 

[[1]]
HTML Form: http://www.rateinflation.com/consumer-price-index/usa-historical-cpi.php
start-year: [ 2005 ] 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
end-year: [ 2015 ] 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015

没有发现提交button,需要制定dropButtons = FALSE

得到一个为NULL的元素

.. ..$ NULL :List of 1
.. .. ..$ name: NULL

form[[1]]$formAttributes
                                                                    method
                                                                     "get"
                                                                    action
"http://www.rateinflation.com/consumer-price-index/usa-historical-cpi.php"
attr(,"class")
[1] "HTMLFormAttributes"

发现是GET方式,而不是POST。提交1990-2000的查询

doc = htmlParse(getCPI(`start-year` = 1990,`end-year`=2000))

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.rateinflation.com/consumer-price-index/usa-historical-cpi?start-year=1990&amp;end-year=2000">here</a>.</p>
</body>
</html>

重新生成了一个查询URL,那么

readHTMLTable(htmlParse(getHTMLLinks(doc)))

就可以读取页面的表格了。

V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 Year jan feb mar apr may jun jul aug sep oct nov dec ann
2 2000 168.8 169.8 171.2 171.3 171.5 172.4 172.8 172.8 173.7 174 174.1 174 172.2
3 1999 164.3 164.5 165 166.2 166.2 166.2 166.7 167.1 167.9 168.2 168.3 168.3 166.6

时间: 2024-10-24 13:56:16

POST 方式表单提交的相关文章

ajax post方式表单提交的注意事项。

当我们创建一个异步对象XMLHttpRequest同时post方式向后台传输数据的时候. 我们要设置异步对象的xhr.setRequestHeader成员的值为 XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");否则的话后台是不能接收到传过去的值的.因为在谷歌浏览器的编译器中显示,传值在 Request Payload中,这是错误的(如图) --属

表单提交详细介绍

阅读目录 开始 简单的表单,简单的处理方式 表单提交,成功控件 多提交按钮的表单 上传文件的表单 MVC Controller中多个自定义类型的传入参数 F5刷新问题并不是WebForms的错 以Ajax方式提交整个表单 以Ajax方式提交部分表单 使用JQuery,就不要再拼URL了! id, name 有什么关系 使用C#模拟浏览器提交表单 资源链接 Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源. 虽然Asp.ne

表单提交中get和post方式的区别

表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程. 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Requ

中文乱码又一解决方法:将表单提交方式由get改为post

当把所有牵涉到的都改为utf-8时,依然有乱码.后来在网站上求助,滄海一夢 给出了这个解决方案:将表单提交方式由get改为post,果然成功.谢过! 1.filter/comments.jsp: <%@ page language ="java" import="java.util.*" pageEncoding="UTF-8" %> <% String path = request.getContextPath(); Stri

数组方式进行表单提交

今天遇到一个问题,要保存很多表单信息,苦恼了许久,终于发现一个挺不错的方法,以数组的形式把表单中的数据提交至后台进行保存. 其实实现起来很简单,就是给表单中要提交的信息的name命名时要有一定的规范,我们先比较下下面这两种方式的差别: 第一种.普通的方式,每个要提交的值都有一个名称 <form id="form1" action="./index.php" method="get"> <div class="form-

form表单提交转为ajax方式提交

在做项目的过程中遇到要将form表单提交转为ajax方式提交,下面是我总结的如何把form表单提交无缝转为ajax方式提交的方法. 原先的form表单长这样: <form action="xxx" method="get"> //action的值是请求的url地址 <div class="form-group"> <label for="name">姓名</label> <

Jquery表单提交方式

1.使用调用submit方法 function tes1(){ //执行判断 if(校验通过){ $("#formId").submit(); }else{ return; } } 2.使用ajaxSubmit 方法,用到jquery.form.js $("#picForm").ajaxSubmit({ type: "post", dataType: "text", success: function(result){ ale

jQuery最简单的表单提交方式

第一步:绑定事件 常用的与ajax相关的事件参考如下: 1.$(selector).click(function) 2.$(selector).change(function) 3.$(selector).keyup(function) 4.$(selector).submit(function) 提交表单前,阻止提交按钮的默认的action,或返回false,如: 1.阻止提交按钮的默认的action $("form").submit(function(e){    e.preven

表单提交(五)——jquery方式

用.submit( handler )方式提交,不需要用onsubmit,直接在handler进行表单验证. 为了阻止Enter提交表单,当按下Enter键时阻止表单默认行为. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-latest.js"></scri