1
前提
需要第三方包
httplib2
2
本脚本实现本站自动登录下载文件
import httplib2
import urllib
import os
from urllib import urlencode
# config
m_downurl = 'http://dl.iteye.com/topics/download/46527af3-941f-38f0-b0f3-9f74bf5ffa67'
m_host = "http://www.iteye.com/login"
m_username_value = "***********"
m_password_value = "***********"
m_authenticity_token = "*************"
# create http cache
h = httplib2.Http('.cache')
# open debug
httplib2.debuglevel = 1
# get login url
getheader = {"Accept":"text/html, application/xhtml+xml, */*",
"Accept-Language":"zh-CN",
"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
"Accept-Encoding":"gzip, deflate",
"Host":"www.iteye.com",
"Connection": "Keep-Alive",
"cache-control":"no-cache"
}
response1, content1 = h.request(m_host, headers = getheader)
data = {'authenticity_token': m_authenticity_token, 'name' : m_username_value, 'password': m_password_value , 'button': '%E7%99%BB%E3%80%80%E5%BD%95'}
postheader = {"Accept":"text/html, application/xhtml+xml, */*",
"Referer": "http://www.iteye.com/login",
"Accept-Language":"zh-CN",
"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
"Accept-Encoding":"gzip, deflate",
"Host":"www.iteye.com",
"Connection": "Keep-Alive",
"cache-control":"no-cache",
'Cookie': response1['set-cookie']
}
# authentication supports SSL | Http Basic
# h.add_credentials(m_username_value, m_password_value )
# login
response2, content2 = h.request(m_host, 'POST', urlencode(data), headers = postheader)
# download
downloadheader = {"Accept":"text/html, application/xhtml+xml, */*",
"Accept-Language":"zh-CN",
"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
"Accept-Encoding":"gzip, deflate",
"Host":"dl.iteye.com",
"Connection": "Keep-Alive",
"cache-control":"no-cache",
"Cookie": response2['set-cookie'],
}
response3, content3 = h.request(m_downurl, headers = downloadheader)
# save
filename = response3["content-disposition"].split("=")[1].replace('"', "")
file = open(filename,'wb')
file.write(content3)
file.close()
- 大小: 45 Bytes
分享到:
相关推荐
1. **Selenium WebDriver**: Selenium是Web UI自动化测试中的核心工具,它提供了WebDriver接口,允许我们通过编写Python代码来控制浏览器,模拟用户的交互行为。在本章中,我们将学习如何安装和配置Selenium ...
**Flask Web开发:基于Python的Web应用开发实战** Flask是Python编程语言中的一个轻量级Web应用程序框架,以其简洁、灵活的特性受到了开发者们的广泛欢迎。它遵循"微框架"理念,允许开发者自由选择如何组织项目和...
在Python编程领域,模拟登录是Web爬虫技术中不可或缺的一部分,尤其当我们需要抓取那些受保护的、需要用户登录后才能访问的网站内容时。本文将深入探讨如何使用Python进行模拟登录,以便能够爬取知名网站上的数据。 ...
【描述】:“为了实现python模拟登录功能,做的一个非常简单的web项目” 模拟登录功能通常涉及到网络请求、数据解析以及身份验证等技术。在Python中,可以使用如requests库来发送HTTP请求,模拟浏览器的行为;...
Python Web接口开发与测试是现代软件工程中的重要环节,它涉及到使用Python语言构建Web服务以及对这些服务进行验证和质量保证。在这个过程中,开发者需要掌握一系列技术和工具,以确保接口功能完善、性能良好且易于...
在这个项目中,我们将深入探讨如何利用Python进行模拟登录,从H3C交换机中获取访问控制列表(ACL)的撞包(packet counter)数量变化,并实现异常情况的自动报警。下面,我们详细讲解这一过程的关键知识点。 首先,...
在本章"Python实现Web UI自动化测试实战-Chapter-12"中,我们将深入探讨如何利用Python语言进行高效的Web用户界面(UI)自动化测试。这一领域对于软件开发和测试团队至关重要,因为它能节省大量手动测试的时间,提高...
在Python编程领域,模拟登录和API操作是两个重要的技术,特别是在Web爬虫和自动化测试中。本主题将深入探讨如何使用Python来模拟登录各种网站,并通过API接口执行各种任务。 一、模拟登录基础 1. **请求库**:...
本书从基础的知识开始,讲解Web开发的整个流程,展示如何使用Python做测试驱动开发。本书由三个部分组成。介绍了测试驱动开发和Django的基础知识。第二部分讨论了Web开发要素,探讨了Web开发过程中不可避免的问题,...
Python爬虫模拟登陆CSDN是一项常见的Web自动化任务,它涉及到使用编程语言与网站进行交互,获取需要的数据。本文将详细讲解如何使用Python的Selenium库来实现这一目标。 首先,Selenium是一个强大的Web测试框架,它...
在Python中,Selenium WebDriver是一个强大的自动化测试工具,它允许我们模拟用户与网页的交互,如点击按钮、填写表单,甚至是模拟登录。这个压缩包中的“cps-python.py”很可能是实现这一功能的具体Python脚本。...
Python Web接口开发与测试是软件开发过程中的一个重要环节,它涉及到服务器端的API设计、客户端的调用以及全面的测试策略。在这个主题中,我们将深入探讨Python在构建和测试Web接口方面的能力,以及如何利用其丰富的...
HTTP交互模块负责与Web服务器进行通信,实现数据的下载和传输;而数据分析模块则负责将下载的原始HTML数据解析为可供进一步处理的结构化信息。 在HTTP协议层面,Web数据采集程序主要利用TCP协议在传输层与服务器...
模拟登录可以帮助用户自动化完成很多操作,在不同场合下有不同的用处,无论是自动化一些日常的繁琐操作还是用于爬虫都是一项很实用的技能。本课程通过 Firefox 和 Python 来实现,环境要求如下: * Python 库:...
Selenium与Python的结合使得测试代码编写更为简单,且易于维护。 在描述中提到的项目 "webTest" 是一个基于Python的WebUI自动化测试框架,可以从提供的github链接(https://github.com/wuranxu/webTest)获取源码。这...
Python中的Selenium是一个强大的自动化测试工具,主要用于模拟真实用户与Web应用程序的交互。它能够控制浏览器执行各种操作,如点击按钮、填写表单、导航页面等,非常适合进行端到端的Web应用测试。本篇文章将深入...
Python的Web框架如Django可以处理这些需求,提供API接口与前端交互。数据库设计需涵盖学生、教师、课程、试题、考试成绩等多个实体,同时,为了实现在线考试,可能会用到如exam库来生成随机试题,以及防止作弊的机制...