之前我使用自带的urllib2模拟浏览器去进行访问网页等操作,很多网站都会出错误,还会返回乱码,之后使用了 mechanize模拟浏览器,这些情况都没出现过,真的很好用,这里向大家推荐一下。
mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web访问控制方面做得更全面。
首先从安装开始吧,以ubuntu系统为例:
python 绝大部分第三方软件包,都是标准安装方式,从官网下载之后,解压到一个文件夹内,然后在这个文件夹内执行这个命令就行了:
python setup.py install
官网网址:
<a href="http://wwwsearch.sourceforge.net/mechanize/">http://wwwsearch.sourceforge.net/mechanize/</a>
正常情况下,我们要给python安装第三方的扩展包,我们必须下载压缩包,解压缩到一个目录,然后命令行或者终端打开这个目录,然后执行
来进行安装。
而使用easy_install我们就可以直接命令行执行
easy_install xxx
就把最新版的xxx包装上去了
所以easy_install就是为了我们安装第三方扩展包更容易
首先下载easy_install的安装包,下载地址:
<a href="http://pypi.python.org/pypi/setuptools">http://pypi.python.org/pypi/setuptools</a>
下载自己对应的版本,windows上面直接运行exe安装就可以了
linux上面可以直接运行
sh setuptools-0.6c9-py2.4.egg
安装完成后,easy_install会被自动复制到bin目录下,也就是我们的path路径下,所以我们在终端中可以直接运行easy_install命令了
安装easy_install的命令如下:
sudo apt-get install python-setuptools
sudo easy_install mechanize
安装好之后就可以愉快的使用了,首先是模拟一个浏览器的代码:
这样就得到了一个浏览器的实例,br对象。使用这个对象,便可以对网页操作:
另外如果访问的网站需要验证(http basic auth),那么:
另外利用这个方法,存储和重发这个session cookie已经被cookie jar搞定了,并且可以管理浏览器历史:。除此之外还有众多应用,如下载:
为http设置代理 :
回退(back):
打印url即可验证是否回退
模拟谷歌和百度查询:
更多的信息大家可以去官网查看
另外使用mechanize模拟浏览器去不断访问网页是可以刷各种博客的访问量的,包括csdn,我声明一下,我测试刷了10个访问就不搞了,毕竟刷访问量是个很没品的事情,而且没什么意义,好好写一篇博客是为了自己总结自己,也是为了帮助他人,分享经验,去追求什么访问量,积分是没有意义的,奉劝大家也不要乱搞。而且这个很容易查的,被查出来的后果可是很严重的,简单脚本如下,这个是刷一个网页100次,间隔1秒:
我还是学生,写的不好的地方还请多多指正,
转载请注明出处:
<a href="http://blog.csdn.net/sunmc1204953974">http://blog.csdn.net/sunmc1204953974</a>