2016-08-10 4 views
1

Я пытаюсь использовать механизм, чтобы отправить веб-форму и распечатать результаты для меня. Входные координаты подаются из файла CSV.Отправка формы и получение результата с использованием механизации в python

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 

Что я пропустил?

ответ

0

Атрибут формы, которую вы используете, указывает местоположение, которое не существует. Форма не имеет кнопки отправки. Причина, по которой форма работает, когда вы используете ее в своем браузере, заключается в том, что при нажатии кнопки «Конвертировать» выполняется функция JavaScript, которая будет выполнять фактический расчет и записывать результаты в таблицу внизу страницы.

Боюсь, вы не можете использовать mechanize для получения результатов, потому что он не обрабатывает JavaScript.

+0

Спасибо, Маттиас, вот что я понял. Какой инструмент вы бы предложили обработать форму JavaScript? – Utkarsh

 Смежные вопросы

  • Нет связанных вопросов^_^