PycURL登录页面下载文件

作者:admin   发表时间:四月 29, 2009   浏览:

PycURL example
Thu, 2006-12-21 22:04 — christianmlong

Here’s a little sample of Python code demonstrating the use of PycURL, the Python interface to libcURL. It does the same thing as my cURL example. Refer to this page for a detailed list of libcurl options.

import pycurl, StringIO
# Constants
DOWNLOADED_FILE = r’C:\temp\downloaded_file.txt’
USER_AGENT = ‘Mozilla/4.0 (compatible; MSIE 6.0)’
LOGIN_URL = ‘http://interesting.website.com/LogIn.asp’
LOGIN_POST_DATA = ‘FormField=URL%20Encoded%20Value’
DOWNLOAD_URL = ‘http://interesting.website.com/do_it.asp?do=0&something=0&interesting=0′
DOWNLOAD_REFERER = ‘http://interesting.website.com/referer.asp’
FILE_MODE = ‘wb’

# Set up objects
dev_null = StringIO.StringIO()
slurpp = pycurl.Curl()

# Request login page
slurpp.setopt(pycurl.USERAGENT, USER_AGENT)
slurpp.setopt(pycurl.FOLLOWLOCATION, 1)
#slurpp.setopt(pycurl.AUTOREFERER, 1) # not yet implemented in pycURL
slurpp.setopt(pycurl.WRITEFUNCTION, dev_null.write)
slurpp.setopt(pycurl.COOKIEFILE, ”)
slurpp.setopt(pycurl.URL, LOGIN_URL)
slurpp.perform()

# Log in to site
slurpp.setopt(pycurl.POSTFIELDS, LOGIN_POST_DATA)
slurpp.setopt(pycurl.POST, 1)
slurpp.perform()

# Download relevant data
slurpp.setopt(pycurl.HTTPGET, 1)
slurpp.setopt(pycurl.URL, DOWNLOAD_URL)
slurpp.setopt(pycurl.REFERER, DOWNLOAD_REFERER)
outfile = file(DOWNLOADED_FILE, FILE_MODE)
slurpp.setopt(pycurl.WRITEFUNCTION, outfile.write)
slurpp.perform()

# Clean up and close out
outfile.close()
dev_null.close()
slurpp.close()

Powered By Wordpress Tabs Slides

 标签:

 类别:定制开发

本文引用地址: 

  • No Related Post
您或许对这些文章有兴趣:

图片类(生物、纹理、纤维)防伪系统
图片类(生物、纹理、纤维)防伪系统

北京巨人时代数码防伪系统维护日志 中心平台 mysql 未启动
北京巨人时代数码防伪系统维护日志 中心平台 mysql 未启动

12114短信防伪中奖、抽奖案例分析
12114短信防伪中奖、抽奖案例分析

数码防伪系统(电码,短信防伪,800,400防伪系统)漏洞之二:一码多印的困局
数码防伪系统(电码,短信防伪,800,400防伪系统)漏洞之二:一码多印的困局

防伪积分中奖功能概述
防伪积分中奖功能概述

12114防伪中奖插件设置指南
12114防伪中奖插件设置指南

家电下乡标识卡打印软件
家电下乡标识卡打印软件

润滑油防窜货解决方案案例
润滑油防窜货解决方案案例

评论已经关闭.

LiveZilla Live Help
LiveZilla Live Help