2014-09-23 2 views
0

Я пытаюсь сделать следующее с помощью питона:Использование urllib2 в Python

С этого сайта: http://www.bmf.com.br/arquivos1/arquivos_ipn.asp?idioma=pt-BR&status=ativo

Я хотел бы проверить 4th флажок, а затем нажмите на ссылку Загрузить изображение.

Вот что я сделал:

import urllib2 
import urllib 
url = "http://www.bmf.com.br/arquivos1/arquivos_ipn.asp?idioma=pt-BR&status=ativo" 
payload = {"chkArquivoDownload3_ativo":"1"} 
data = urllib.urlencode(payload) 
request = urllib2.Request(url, data) 

print request 

response = urllib2.urlopen(request) 
contents = response.read() 

print contents 

Кто-нибудь есть какие-либо предложения?

+0

Есть ли у нас какие-либо предложения для чего? Что происходит? Чего вы ожидаете? – OJFord

ответ

0

Веб-браузеры представляют собой сложную совокупность компонентов, которые взаимодействуют друг с другом. У Python нет встроенного веб-браузера (в частности, механизма DOM или Javascript), и он просто загружает html-файл, который обычно взаимодействует с указанными DOM и javascript в вашем браузере.

Самый простой метод, который я предвижу:

  1. Перс строку, используя модуль питона BeautifulSoup.
  2. Вручную введите запрос на загрузку с информацией, которую вы проанализировали.
  3. Сохраните загруженное изображение в файл
1

Selenium большой проект, он позволяет контролировать браузер Firefox с питоном. Что-то вроде этого:

from selenium import webdriver 

browser = webdriver.Firefox() 

browser.get('http://www.bmf.com.br/arquivos1/arquivos_ipn.asp?idioma=pt-BR&status=ativo') 

browser.find_element_by_id('chkArquivoDownload3').click() 
browser.find_element_by_id('imgSubmeter_ativo').click() 

browser.quit() 

, вероятно, будет работать.