Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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中的mechanise获得结果_Python_Forms_Web Scraping_Mechanize - Fatal编程技术网

提交表单,并使用python中的mechanise获得结果

提交表单,并使用python中的mechanise获得结果,python,forms,web-scraping,mechanize,Python,Forms,Web Scraping,Mechanize,我正在尝试使用mechanise为我提交一个web表单并打印结果。输入坐标来自CSV文件 def form_scraper(xcord,ycord): br = mechanize.Browser() br.set_handle_refresh(False) br.open('http://www.whoi.edu/marine/ndsf/cgi-bin/NDSFutility.cgi?form=0&from=XY&to=LatLon') for

我正在尝试使用mechanise为我提交一个web表单并打印结果。输入坐标来自CSV文件

def form_scraper(xcord,ycord):
    br = mechanize.Browser()
    br.set_handle_refresh(False)
    br.open('http://www.whoi.edu/marine/ndsf/cgi-bin/NDSFutility.cgi?form=0&from=XY&to=LatLon')

    for form in br.forms():
        print 'Form name:', form.name

    br.select_form('XY2LLForm')

    br.form['Xcord'] = xcord
    br.form['Ycord'] = ycord

    br.form['DecLat'] = '18.10219969497151'
    br.form['DecLon'] = '79.00285162135349'

    response = br.submit()
    form_result = response.read()
    print form_result
这会给我以下错误,并且不会产生任何输出

Traceback (most recent call last):
  File "converter.py", line 31, in <module>
    form_scraper('1', '2')
  File "converter.py", line 20, in form_scraper
    response = br.submit()
  File "/usr/local/lib/python2.7/site-packages/mechanize/_mechanize.py", line 541, in submit
    return self.open(self.click(*args, **kwds))
  File "/usr/local/lib/python2.7/site-packages/mechanize/_mechanize.py", line 203, in open
    return self._mech_open(url, data, timeout=timeout)
  File "/usr/local/lib/python2.7/site-packages/mechanize/_mechanize.py", line 255, in _mech_open
    raise response
mechanize._response.httperror_seek_wrapper: HTTP Error 404: Not Found
回溯(最近一次呼叫最后一次):
文件“converter.py”,第31行,在
表格("1","2")
文件“converter.py”,第20行,格式为
响应=br.submit()
文件“/usr/local/lib/python2.7/site-packages/mechanize/_-mechanize.py”,第541行,提交
返回self.open(self.click(*args,**kwds))
文件“/usr/local/lib/python2.7/site packages/mechanize/_mechanize.py”,第203行,打开
返回self.\u mech\u open(url、数据、超时=超时)
文件“/usr/local/lib/python2.7/site-packages/mechanize/_-mechanize.py”,第255行,处于打开状态
提出回应
mechanize.\u response.httperror\u seek\u包装器:HTTP错误404:未找到

我错过了什么

您正在使用的表单的
action
属性指定了一个不存在的位置。表单没有“提交”按钮。当您在浏览器中使用表单时,表单工作的原因是单击“转换”按钮运行JavaScript函数,该函数将执行实际计算并将结果写入页面底部的表中


恐怕您不能使用mechanize检索结果,因为它不处理JavaScript。

您正在使用的表单的
action
属性指定了一个不存在的位置。表单没有“提交”按钮。当您在浏览器中使用表单时,表单工作的原因是单击“转换”按钮运行JavaScript函数,该函数将执行实际计算并将结果写入页面底部的表中


恐怕您不能使用mechanize检索结果,因为它不处理JavaScript。

谢谢Matthias,这就是我的想法。您建议使用什么工具来处理JavaScript表单?谢谢Matthias,这就是我的想法。您建议使用什么工具来处理JavaScript表单?