在Python中使用urllib2

时间:2014-09-23 00:07:08

标签: python urllib2

我正在尝试通过python执行以下操作:

从这个网站: http://www.bmf.com.br/arquivos1/arquivos_ipn.asp?idioma=pt-BR&status=ativo

我想查看第4个复选框,然后点击下载图片。

这就是我所做的:

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

有人有任何建议吗?

2 个答案:

答案 0 :(得分:1)

Selenium是一个很棒的项目,它可以让你用python控制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()

可能会奏效。

答案 1 :(得分:0)

Web浏览器是一组复杂的组件,它们可以相互作用。 Python没有内置的Web浏览器(特别是DOM或Javascript引擎),它只是下载一个html文件,该文件通常会与浏览器中的DOM和javascript进行交互。

我预见的最简单方法:

  1. 使用python模块BeautifulSoup修补字符串。
  2. 使用您已解析的信息手动发出下载请求。
  3. 将下载的图像保存到文件