在Python中使用urllib2

2024-04-27 05:06:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我想勾选第四个复选框,然后点击下载图片。你知道吗

我就是这么做的:

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

有人有什么建议吗?你知道吗


Tags: brcompthttprequestwwwurllib2asp
2条回答

Web浏览器是一个复杂的组件集合,这些组件相互作用。 Python没有内置的web浏览器(特别是DOM或Javascript引擎),它只是下载一个html文件,该文件通常会与浏览器中的DOM和Javascript进行交互。你知道吗

我预见的最简单的方法是:

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

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()

可能有用。你知道吗

相关问题 更多 >