URN Logo
UNIX Resources » Linux » China Linux Forum » Python 编 程 » 6 » [精华] 如何用python实现网页登陆和其他一些网页上的常见操作
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
[精华] 如何用python实现网页登陆和其他一些网页上的常见操作
 
 
 
 
 
 
 
 
 
 
Subject: [精华] 如何用python实现网页登陆和其他一些网页上的常见操作
Author: zjbdamo    Posted: 2005-09-15 14:09    Length: 173 byte(s)
[Original] [Print] [Top]
各位前辈,小弟初学python,请教一个问题.因为公司需要填一些如工作时间,等的一些繁琐的东西。所以想通过一个python脚本来完成这些事情。请前辈们值点一下,如何实现!bow & 3x!
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: limodou    Posted: 2005-09-15 17:56    Length: 179 byte(s)
[Original] [Print] [Top]
看这个网站: 

http://pamie.sourceforge.net/ 只对IE有效
----
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: passworld    Posted: 2005-09-20 15:00    Length: 235 byte(s)
[Original] [Print] [Top]
这些东西一般都是使用 form 来完成,你先看他的网页html代码的内容,找到相关表格,然后使用 urllib2 把表填了就完了。

用 firefox 类的浏览器可以 ctrl-i (Tools->Page Info)里查看网页里的 form 结构。

----
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: zjbdamo    Posted: 2005-09-30 11:31    Length: 2,958 byte(s)
[Original] [Print] [Top]
非常感谢limodou,passworld两位前辈的指点。我现在用urllib2实现了一个订餐的功能。还有一个timesheet的没实现。填写timesheet的时候回启动一个java做的客户端。我通过httplook抓下来的包。看到提交的不是一个form,而是
POST /tsp/tsp.dll HTTP/1.1
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Mozilla/4.0 (Windows 2000 5.0) Java/1.4.2
Host: hztsp01.cn.utstarcom.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 86

COMMAND%3DLoginNow%5E1NAME%3DZeng+Junbo%5E1PASSWORD%3Dzjb%406149%24%5E1FORCE%3D0%5E1
不知道这个该怎么样来实现?

ps,我还有几个问题
1,我也尝试了pamie,但是遇到一个问题,有两个checkbox,可以对其中一个进行setcheckbox操作成功,另外一却不行。察看html文件,可以操作成功的一个被设置为不可见的,不可操作成功的为可见的。
<tr>
<td valign="top" height="33" align="middle" bgcolor="#799ae1" bordercolor="#fffee7" bordercolorlight="#ffcc66" width="437" colspan="2"><!--mstheme--><font face="宋体"><font size="2"><b>
<input type="checkbox" name="C1" value="ON" style="VISIBILITY: hidden" ><span style="VISIBILITY: hidden">早餐&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><input type="checkbox" name="C2" value="ON"
>中餐加班餐</b></font><b><font size="2"><input type="checkbox" name="C3" value="ON">晚餐加班餐<span style="VISIBILITY: hidden"><input type="checkbox" name="C4" value="ON">夜宵<input type="checkbox" name="C5" value="ON" >加班餐</span></font></b>&nbsp;<!--mstheme--></font></td>
</tr>
C1可成功操作,C2不能。
2,想对一个html文件进行分析,准备使用HTMLParser,但是看了一下。觉得HTMLParser比较适合用于解析
<key>value</key>这样的类似数据库的表达方式表的值。对于非这种结构表得值,如表头单独列出来,表的内容一行行列出来的情况,不是很适合。

请大家帮助一下看这两个问题有什么解决方法。谢谢,祝假期愉快!
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: passworld    Posted: 2005-09-30 17:17    Length: 534 byte(s)
[Original] [Print] [Top]
>>> urllib.unquote('COMMAND%3DLoginNow%5E1NAME%3DZeng+Junbo%5E1PASSWORD%3Dzjb%406149%24%5E1FORCE%3D0%5E1')
'COMMAND=LoginNow^1NAME=Zeng+Junbo^1PASSWORD=zjb@6149$^1FORCE=0^1'

urllib2.urlopen() 可以传 data ,怎么用自己看例子。

htmlparser 容错性能很差,用 sgmllib 比较好。网上到处可以找到用法的例子,基本上你先找到 form 的标签,然后设一个棋标,从这以后开始处理数据,然后在 /form 后把棋标关上。编程一向是枯躁的低技术工作,主要就是进行这种笨拙的处理。

----
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: passworld    Posted: 2005-09-30 17:20    Length: 68 byte(s)
[Original] [Print] [Top]
你把地址,密码放出来,希望没有人会黑你们的机器。

----
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: mep    Posted: 2005-10-01 10:06    Length: 156 byte(s)
[Original] [Print] [Top]
在某些情况下,PAMIE需要经过调试修改才能正确地运行。
在我的机器上就是这样。
测试的方法是,运行PAMIE中的test脚本,看看是不是都能够正确执行。
[Original] [Print] [Top]
Subject: [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: mep    Posted: 2005-10-01 10:16    Length: 129 byte(s)
[Original] [Print] [Top]
附件是根据PAMIE 1.5的修正版本,在我的机器上能够正确运行。
如果你有兴趣可以用一下,先跑一下里面的测试,看看是不是都正确。
--
Attached file: 580539-automation.rar
[Original] [Print] [Top]
Subject: Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: zjbdamo    Posted: 2005-11-21 11:22    Length: 261 byte(s)
[Original] [Print] [Top]
公司访问外网通过http://autoproxy.xxx.com.cn:8080这样的代理。urllib2里面的支持的代理方法好像不适用。
我通过httplook抓包发现没一个访问都有和http://autoproxy.xxx.com.cn:8080的通讯,除了完全按照抓包的序列每次也和代理通讯外还有没其他办法来实现对外网的访问。
[Original] [Print] [Top]
Subject: Re: 如何用python实现网页登陆和其他一些网页上的常见操作
Author: passworld    Posted: 2005-11-21 12:23    Length: 479 byte(s)
[Original] [Print] [Top]
urllib2 有几种 proxy 的处理方式,还不行,你既然有耐心用 httplook 抓包,你可以看看 urllib2 的代码,自己继承一个 ProxyHandler 就可以了。函数库只能提供常用得功能,如果非要很特别得功能,自然就得自己实现。不过proxy这种必须大多数浏览器都能支持的功能,不应该有太特殊得实现。你是怎么实现的?

你这样只问问题不贴代码得习惯很难让别人知道真正得问题再什么地方,别人只能根据你得猜测来解决,不过一般自己犯的错误不能解决时,自己得猜测往往是错的。


----
[Original] [Print] [Top]
« Previous thread
请教问题一个
Python 编 程
6
Next thread »
使用XMPPPY模块与Jabber服务器通信。
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 04:11:03, cost 0.078191995620728 ms.