Python mechanize模块
之前做题时遇到一道题可以用mechanize模块轻松的解决,于是找了这篇微博学习了一下么mechanize的一些简单用法:
mechanize是非常合适的模拟浏览器的模块,它的特点主要有:
1 http,https协议等。
2 简单的HTML表单填写。
3 浏览器历史记录和重载。
4 Referer的HTTP头的正确添加(可选)。
5 自动遵守robots.txt的。
6 自动处理HTTP-EQUIV和刷新。
所以你可以用mechanize来完成一些自动化浏览器想要做的事情,比如自动登录表单,自动填写表单等。
你可以使用easy_install mechanize或者 pip install 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 mechanize模块相关推荐
- Python实例教程Mechanize模块编写爬虫的要点解析
Python使用Mechanize模块编写爬虫的要点解析 mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web访问控制方面做得更全面.结合beautifulsoup ...
- Python使用Mechanize模块编写爬虫的要点解析
这篇文章主要介绍了Python使用Mechanize模块编写爬虫的要点解析,作者还讲解了Mechanize程序占用内存过高问题的相关解决方法,需要的朋友可以参考下 mechanize是对urllib2 ...
- python模拟浏览器模块_在Python中使用mechanize模块模拟浏览器功能
知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的. 每次我需要做任何关于web的自动任务时,我都使用这段python代码去模拟一个浏览器. import mechanize ...
- Python Re 模块超全解读!详细
内行必看!Python Re 模块超全解读! 2019.08.08 18:59:45字数 953阅读 121 re模块下的函数 compile(pattern):创建模式对象 > import ...
- python argparse模块_Python argparse模块应用实例解析
这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...
- 关于使用python logging模块的几点总结
关于使用python logging模块的几点总结 使用python的标准日志模块logging可以非常方便地记录日志.Python日志系统非常丰富.添加结构化或非结构化日志输出到python代码,写 ...
- python高级-模块(14)
一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...
- 转载: Python os 模块的功能以及子函数介绍
原文链接: python之os模块 - 程序生(Codey) - 博客园 https://www.cnblogs.com/cxscode/p/8085326.html 一.Python OS模块介绍 ...
- 简单介绍python process模块
在python中大部分情况需要使用多进程,python提供了multiprocessing模块.multiprocessing模块的功能众多:支持子进程.通信和共享数据.执行不同形式的同步,提供了Pr ...
最新文章
- arcgis下的python编程-面向ArcGIS的Python脚本编程
- matlab提速技巧(自matlab帮助文件)
- GWT和HTML5 Canvas演示
- vm磁盘映射 不能启动_软网推荐:网盘变身本地磁盘
- 不懂Python装饰器?教程双手奉上!
- 安卓案例:利用帧动画动态显示时间
- python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...
- 【Flink】Flink 使用代码如何主动触发 SavePoint
- BZOJ1101 洛谷3455:[POI2007]ZAP——题解
- 设计模式学习之---Adapter(适配器)模式
- Teraterm的Log设定
- FPGA——sdram控制器1
- 802.11 Beacon帧
- H264 数据帧头分析
- Wiki引擎mediawiki
- 阿里云ECS上CentOS关闭阿里云盾
- 烤仔TVのCCW | 智能合约间的四种调用(下)
- uni-app开发的微信小程序隐藏返回首页按钮
- 【分享】北京社保查询API
- CLI、CLR、CTS、CLS
热门文章
- CVPR2018 Best Paper:Taskonomy: 揭开任务迁移学习的秘密
- 电子护照OCR识别并支持读取功能
- I2C总线协议和控制器解析
- PHP实践之路(七)PHP函数
- 编写基于PHP的聊天室
- 数字上的错误后缀_域名创业方法之前后缀完美搭配
- SAP FICO产品成本组件分析表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)
- SmartGit 过期
- 浙江大学公共管理硕士(MPA)的选修课都有哪些哪些内容?
- 在自己电脑上安装Haskell/Chocolatey/VSCode/Git (Windows)