python模块学习---mechanize(模拟浏览器)
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模块学习---mechanize(模拟浏览器)相关推荐
- python模拟浏览器模块,python模块学习---mechanize(模拟浏览器)
mechanize是非常合适的模拟浏览器的模块. 它的特点主要有: 1 http,https协议等. 2 简单的HTML表单填写. 3 浏览器历史记录和重载. 4 Referer的HTTP头的正确添加 ...
- Mechanize模拟浏览器
简介: Mechanize 是一个 Python 模块,用于模拟浏览器.由于考虑到爬虫所需要的是数据,所以该模块完全可以绕过验证码,直接使用 Cookie 登录就可以了.但是 Mechanize 模块 ...
- Python使用mechanize模拟浏览器
Python使用mechanize模拟浏览器 之前我使用自带的urllib2模拟浏览器去进行访问网页等操作,很多网站都会出错误,还会返回乱码,之后使用了 mechanize模拟浏览器,这些情况都没出现 ...
- pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法
在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...
- python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...
- python模块学习笔记
python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...
- python textwrap_python2.7.3编译python模块学习- textwrap 文本包装和填充
python模块学习- textwrap 文本包装和填充 代码实例: sample_text = ''' The textwrap module can beused to format text f ...
- Python模块学习 - 用tinify模块压缩和优化图片
Python模块学习 - 用tinify模块压缩和优化图片 tinify模块 功能描述:TinyPNG和TinyJPG网站提供了压缩和优化.png和.jpg格式图片的功能.虽然可以很轻松地使用网页版进 ...
- Python模块学习 ---- zlib 数据压缩
Python模块学习 ---- zlib 数据压缩 目录(?)[+] Python标准模块中,有多个模块用于数据的压缩与解压缩,如zipfile,gzip, bz2等等.上次介绍了zipfile模块, ...
最新文章
- Velocity的layout功能
- boost::multi_array模块index_base 修改工具的测试
- linux-实时查看mysql中的日志文件
- `object.__init__`
- java之split用法注意
- win7局域网计算机 慢,win7系统局域网传输速度很慢的方法介绍
- 邮件实现详解(一)------邮件发送的基本过程与概念
- Eclipse和IDEA哪个好
- in comment after two dashes (--) next character must be > not (position: START_TAG seen ...
- 什么是EDM营销?EDM营销和一般营销方式的区别分析
- 网络安全架构:如何理解P2DR模型
- Java P2298 Mzc和男家丁的游戏
- 尝试Ping百度域名后的思考
- 生成HTTPS协议需要的SSL证书
- [ XJTUSE ]JAVA语言进阶知识—— 8.6 多线程
- 如果同步块内的线程抛出异常会发生什么?
- 真c++ 从二叉树到红黑树(6)之红黑树RedBlack
- 基于JavaSwing的雷电游戏(附论文)
- 立秋后6大脏器排毒法 干净才是真正文艺范儿(转)
- 成熟敏捷组织中管理者的角色是咋样的?
热门文章
- 年收入百万美元AI科学家的烦恼与思考
- 成为人工智能视觉应用工程师需要多久?我用了45天!
- 真香!3个月0基础转型大厂数据分析师,他做对了什么?
- 时间可以是二维的?基于二维时间图的视频内容片段检测 | AAAI 2020
- 手把手教你实现PySpark机器学习项目——回归算法
- 边界框的回归策略搞不懂?算法太多分不清?看这篇就够了
- 清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画
- 倒计时2天,如何搭乘通往AI全明星技术盛宴的末班车?(附大会完整版全日程)...
- Spring Validation最佳实践及其实现原理,参数校验没那么简单!
- 一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?