mechanize是非常合适的模拟浏览器的模块。

它的特点主要有:

1 http,https协议等。

2 简单的HTML表单填写。

3 浏览器历史记录和重载。

4 Referer的HTTP头的正确添加(可选)。

5 自动遵守robots.txt的。

6 自动处理HTTP-EQUIV和刷新。

所以你可以用mechanize来完成一些自动化浏览器想要做的事情,比如自动登录表单,自动填写表单等。

首先你在

mechanize download页面

里面下载并且安装好

然后可以看下文档:

http://wwwsearch.sourceforge.net/mechanize/

下面是我写的简单代码:

#导入模块##

import mechanize

import cookielib

from BeautifulSoup import BeautifulSoup

br = mechanize.Browser()

cj = cookielib.LWPCookieJar()

br.set_cookiejar(cj)##关联cookies

###设置一些参数,因为是模拟客户端请求,所以要支持客户端的一些常用功能,比如gzip,referer等

br.set_handle_equiv(True)

br.set_handle_gzip(True)

br.set_handle_redirect(True)

br.set_handle_referer(True)

br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

###这个是degbug##你可以看到他中间的执行过程,对你调试代码有帮助

br.set_debug_http(True)

#br.set_debug_redirects(True)

#br.set_debug_responses(True)

br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.11) Gecko/20100701 Firefox/3.5.11')]##模拟浏览器头

response = br.open('http://xxx..com/')##自己设定一个url

for f in br.forms():##有的页面有很多表单,你可以通过来查看

print f

br.select_form(nr=1)##选择表单1,

br.form['username'] = '用户账户'

br.form['password'] = '密码'

br.submit()##提交表单

print 'success login'

python模拟浏览器模块,python模块学习---mechanize(模拟浏览器)相关推荐

  1. python模块学习---mechanize(模拟浏览器)

    mechanize是非常合适的模拟浏览器的模块. 它的特点主要有: 1 http,https协议等. 2 简单的HTML表单填写. 3 浏览器历史记录和重载. 4 Referer的HTTP头的正确添加 ...

  2. python requests 模拟浏览器_Python3 requests模块如何模仿浏览器及代理

    requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支持使用cookie保持会 ...

  3. Python:mechanize模拟浏览器行为

    Python有许许多多有趣的模块,每当自己需要解决某个问题的时候,Python总能冒出来一两个让你惊喜的小玩意.比如说用于数值计算的Numpy(强大而方便的矩阵能力),用于数据分析的Pandas(和R ...

  4. python浏览器交互代码_使用Mechanize实现Python模拟自然浏览器行为来完成与网页之间的交互....

    工作上我需要Python模拟自然的浏览器行为访问某个网站.使用urllib2也勉强能够做到,但貌似有些麻烦.考虑使用第三方包来实现,这样方便一些.上网找了下,发现 用pamie,是用来操作控制ie的. ...

  5. Python实战案例,requests模块,Python实现模拟登录淘宝网

    前言 利用利用Python模拟登录淘宝网.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块 os模块 requests模块: 以及一些Python自带 ...

  6. python 临时文件夹 的 tempfile模块学习

     python的临时文件夹的tempfile模块学习 应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件 里,但又不能没有,这时候就可以把这些信息写到临时文件里.其实很 ...

  7. Python模块EasyGui专题学习

    Python模块EasyGui专题学习 1.msgbox(msg,title,ok_button="OK",image="",root=None) 代码 imp ...

  8. python websocket模块_python websocket学习使用

    前言 今天看了一些资料,记录一下心得. websocket是html5引入的一个新特性,传统的web应用是通过http协议来提供支持,如果要实时同步传输数据,需要轮询,效率低下 websocket是类 ...

  9. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

最新文章

  1. 马斯克入选美国工程院院士,张宏江博士入选外籍院士
  2. 山东外贸职业学院王彩霞老师网上考试系统及c语言考试题库》,2019年山东外贸职业学院单独招生考试 《语文》考试大纲(夏季高考)...
  3. Python的subprocess子进程和管道进行交互
  4. 基于zookeeper的高可用集群
  5. 乔治华盛顿大学计算机科学专业,乔治华盛顿大学计算机专业排名如何
  6. UNIX再学习 -- exec 函数族
  7. 使用git下载giuhub中的项目
  8. Linux高级编程实验(30个)
  9. 为什么手机上传图片这么慢 前端_解决BootStrap Fileinput手机图片上传显示旋转问题_心病_前端开发者...
  10. [Java_kaikeba]java中堆和栈的区别(对象变量的理解)
  11. 有一个包含 10 亿个搜索关键词的日志文件,如何快速获取到 Top 10 最热门的搜索关键词呢?
  12. 计算机一级最强大脑,计算机入侵人类 《最强大脑》选手完败?
  13. 【js】不间断空格 特殊的空格-ASCII码值160
  14. Tableau笔记(一):tableau 如何绘制环形图
  15. [分割一切!] SegmentAnything真的太强了
  16. 信号调理方法总结笔记
  17. 雷军:同事格式化了我的电脑,让我走上当CEO的“不归路”
  18. Centos7 Jenkins 下载安装-----看此文章即可
  19. 南方电网广东公司荣获“IT用户最佳实践案例奖”
  20. 如何迁移outlook邮件到另一个硬盘_移动Outlook数据文件新计算机|迁移Outlook邮件到新计算机...

热门文章

  1. jQuery Tab
  2. A good security site
  3. 利用WPF建立自己的3d gis软件(非axhost方式)(五)在鼠标点击的位置增加UI
  4. 使用openssl生成ssl(https)证书
  5. 《易学Python》——1.4 Linux
  6. 在CentOS 6.3中安装与配置JDK-7
  7. 孙钟秀--《操作系统教程》注释(陈怀临)-- 读书笔记
  8. hdu1978(递推dp)
  9. 【转】SAP 权限设定、分配及传输
  10. 增强——BTE流程简介