激活链接,没有浏览器

我有一个网页,我在哪里注册用户。 我需要登录没有浏览器(用户名,密码),然后点击一个链接,增加了我的名字网页上的列表。 我想这个过程在后台工作,如在屏幕上显示不出来的。 我一直在试图使用Python来做到这一点如

#!/usr/bin/env python2 #coding:utf-8 import sys import urllib import urllib2 import urlparse import subprocess from BeautifulSoup import BeautifulSoup class MyOpener(urllib.FancyURLopener): version = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15' def process(url): myopener = MyOpener() page = myopener.open(url) text = page.read() page.close() soup = BeautifulSoup(text) links = [] for tag in soup.findAll('a', href=True): tag['href'] = urlparse.urljoin(url, tag['href']) links.append(tag['href']) return links if __name__ == "__main__": links = process("http://www.dropbox.com") for link in links: #print link if 'downloading' in link: print link fileHandle = urllib2.urlopen(link)

--------------解决方案-------------

见http://docs.python.org/library/urllib2.html#examples HTTP认证的例子。 不知道这是你问什么。

看网页与按钮的HTML代码。 如果有一个按钮后面的URL /链接,你只需要做这个环节,如使用urllib2的一个GET。

如果有一些javascript通过按钮触发的urllib2不会帮你。 解决这个问题的一种方法是使用硒,我从来没有使用它,但它应该是非常强大的。

好吧,你究竟怎么了这取决于有问题的网站上。 不过,我会假设你需要每次都创建一个新的会议,并将该施维雅问题是在验证成功后存储在您的Cookie的会话ID。

  1. 制定出如果登录页面预计GET或POST参数
  2. 执行登录和存储会话ID返回(设置Cookie在服务器响应)
  3. 工作了什么,当你点击该链接请求被发送到服务器。
  4. 将请求发送自己,服务器无法看出其中的差别。
  5. 如果你想这个循环的频率比会话超时再次注销。

使用代理,如打嗝或mitmproxy将帮助您调试任何问题。

如果您发现通过点击该链接发送GET请求不随时间或每次新的登录改变,那么就可以确定提前。 然后,你可以简单地登录到抢饼干,不与页面内容打扰,只是只要你有你需要与请求一起发送Cookie关火GET请求。

好运,享受 :)

如果您使用的是Windows,你可以看看PAMIE,一个简单的IE Python的自动化工具

简单PAMIE例如:

import cPAMIE as PAMIE
ie = PAMIE( )
ie.Navigate("'www.google.com" )
ie.textBoxSet("q", "python" )
ie.buttonClick("'btnG" )

3.0版本PAMIE的是在这里

分类:蟒蛇 时间:2015-03-15 人气:0
本文关键词: 巨蟒,的urllib
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.562 (s). 10 q(s)