|
|
|
|
| [精华] 如何用python实现网页登陆和其他一些网页上的常见操作 |
 [精华] 如何用python实现网页登陆和其他一些网页上的常见操作 - zjbdamo [ 2005-09-15 14:09 | 173 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - passworld [ 2005-09-20 15:00 | 235 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - zjbdamo [ 2005-09-30 11:31 | 2,958 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - mep [ 2005-10-01 10:06 | 156 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - mep [ 2005-10-01 10:16 | 129 byte(s)]
 Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - zjbdamo [ 2005-11-21 11:22 | 261 byte(s)]
 Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - passworld [ 2005-11-21 12:23 | 479 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - passworld [ 2005-09-30 17:17 | 534 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - passworld [ 2005-09-30 17:20 | 68 byte(s)]
 [精华] Re: 如何用python实现网页登陆和其他一些网页上的常见操作 - limodou [ 2005-09-15 17:56 | 179 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
|
各位前辈,小弟初学python,请教一个问题.因为公司需要填一些如工作时间,等的一些繁琐的东西。所以想通过一个python脚本来完成这些事情。请前辈们值点一下,如何实现!bow & 3x!
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
这些东西一般都是使用 form 来完成,你先看他的网页html代码的内容,找到相关表格,然后使用 urllib2 把表填了就完了。
用 firefox 类的浏览器可以 ctrl-i (Tools->Page Info)里查看网页里的 form 结构。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[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">早餐
</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> <!--mstheme--></font></td>
</tr>
C1可成功操作,C2不能。
2,想对一个html文件进行分析,准备使用HTMLParser,但是看了一下。觉得HTMLParser比较适合用于解析
<key>value</key>这样的类似数据库的表达方式表的值。对于非这种结构表得值,如表头单独列出来,表的内容一行行列出来的情况,不是很适合。
请大家帮助一下看这两个问题有什么解决方法。谢谢,祝假期愉快!
|
|
|
[Original]
[Print]
[Top]
|
|
[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]
|
|
[Original]
[Print]
[Top]
|
公司访问外网通过http://autoproxy.xxx.com.cn:8080这样的代理。urllib2里面的支持的代理方法好像不适用。
我通过httplook抓包发现没一个访问都有和http://autoproxy.xxx.com.cn:8080的通讯,除了完全按照抓包的序列每次也和代理通讯外还有没其他办法来实现对外网的访问。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
urllib2 有几种 proxy 的处理方式,还不行,你既然有耐心用 httplook 抓包,你可以看看 urllib2 的代码,自己继承一个 ProxyHandler 就可以了。函数库只能提供常用得功能,如果非要很特别得功能,自然就得自己实现。不过proxy这种必须大多数浏览器都能支持的功能,不应该有太特殊得实现。你是怎么实现的?
你这样只问问题不贴代码得习惯很难让别人知道真正得问题再什么地方,别人只能根据你得猜测来解决,不过一般自己犯的错误不能解决时,自己得猜测往往是错的。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
|