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 BeautifulSoupbr = 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/')##自己设定一个urlfor f in br.forms():##有的页面有很多表单,你可以通过来查看
print fbr.select_form(nr=1)##选择表单1,br.form['username'] = '用户账户'
br.form['password'] = '密码'br.submit()##提交表单print 'success login'

Python mechanize 的一点说明相关推荐

  1. python Json的一点收获,自定义序列化方法

    From: http://blog.csdn.net/jlnuboy/article/details/5732196 PyMOTW: json 模块: json 目的: JavaScript对象格式序 ...

  2. python 元组的一点问题

    元组的一点问题 tuple = ("helloworld", 12, "coding") print(tuple) print(tuple[0]) print( ...

  3. 孩子学python用的笔记本电脑_教孩子学Python 后的一点感受

    先说一下孩子的情况.男孩儿,10岁,在学校上过scratch 的课:喜欢音乐和表演,是学校英文戏剧社成员:数学和语文成绩中等:贪玩儿,不会安排自己的事情.概括来说,就是一只普通孩子(和我小时候一样 L ...

  4. 听说三年前那些月入30K的程序员都是这样开始轻松构建算法交易机器:一点python基础+一点运气

    全文共3071字,预计学习时长9分钟 图源:Unsplash 人工智能的新突破每天都成为头条新闻.在金融领域,因其具有深厚历史.清楚明了和结构化数据,机器学习广泛运用.最终,金融领域成为了" ...

  5. python mechanize自动登录程序

    放假回来了,很久没更新博客了,以后得常更新,今天给大家分享下python第3方的模块包:mechanize. mechanize是非常合适的模拟浏览器的模块,它的特点主要有: 1 http,https ...

  6. python mechanize使用

    遇到了一些坑,这个mechanize不支持js代码,如果遇到了 <button id="submit" type="button" οnclick=&qu ...

  7. 学会python之后-【一点资讯】学会Python后,人生简直开挂了!

    你有没有因为"搜一下"烦恼过?虽然说现在搜索引擎很多,但百度早就失去"百度一下你就知道"万能时代了,经常网上一搜,全是没用的鸡肋信息,很多软件也没啥实际用处.前 ...

  8. 分享python os.system一点心得

    我记得在上次的文章中写到了python popen,用python popen处理一些系统的命令它会返回一个对象, 比如: import os print os.popen('ping g.cn') ...

  9. 关于最近练习PYTHON代码的一点心得

    做测试以来,一直想学习代码,以前也断断续续的学习过,不过都是练习一些基础语法,学习的是菜鸟教程,但是效果不大. 最近在练习CODEWAR里做练习题,慢慢强化自己对一些基本语法的理解,熟悉基本的内置函数 ...

最新文章

  1. html5 FileReader初识
  2. Java为什么会有默认的背景色_java – 为什么我的背景颜色不会在JFrame中...
  3. 英语应用文写作之感谢信
  4. 【转】 linux iio子系统
  5. android studio 控件提示大写
  6. 【科技金融】风控命门——第三届互联网金融风控大会会后复盘
  7. Python 3.4.4 学习笔记(004)python manuals/the python tutorial -- 3. An Informal Introduction to Python...
  8. linux高可用性,linux – 高可用性Cron Jobs
  9. linux自学(四)之开始centos学习,网络配置
  10. Java反射(Reflection)
  11. re.containerbase.startinternal 子容器启动失败_Python项目容器化实践(二) Docker Machine和Docker Swarm...
  12. android 6.0版本名字,棉花糖Marshmallow 是Android 6.0的名字
  13. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图
  14. docker:轻量级图形页面管理工具Portainer
  15. vba传值调用_vba – 动态调用从形状OnAction属性传递参数的宏
  16. 圆弧裁剪算法c++_箍筋算法之争:按外皮长度计算与按中心线长度计算究竟相差多少?...
  17. 关于sql server 代理(已禁用代理xp)
  18. oppoa57升级android版本,OPPO A57刷机教程 OPPO A57升级更新系统包
  19. 无线AP Aruba-515初始化设置
  20. 铁汁!高并发这些东西都是虚拟的,你都理解透彻了嘛?(高并发目标/高并发构架演进/分布式/面向服务架构/高并发平台)

热门文章

  1. linux创建磁盘的命令,linux中创建磁盘分区的命令是什么
  2. Android Snackbar基本使用
  3. linux编辑登录欢迎界面
  4. LWN:Fedora关于stack frame的争论!
  5. linux 安装nodejs
  6. 欧拉图与半欧拉图的基本概念以及判定方法
  7. python random模块点餐程序_python之random模块
  8. cad捕捉不到标注线上的点_CAD捕捉不到正在绘制的多段线上的点怎么办
  9. 教程 | 虚拟机VMware Workstation Pro安装教程
  10. 小王带你了解如何配置静态ip