好的,所以我使用这个作为一个reddit机器人,但我想能够弄清楚如何login到任何网站。 如果这是有道理的…. 我意识到不同的网站使用不同的login表单等,那么我怎么知道如何优化每个网站? 我假设我需要寻找的东西在HTML文件,但不知道是什么。 我不想使用Mechanize或任何其他库(这是所有其他答案都在这里,而实际上并没有帮助我了解发生了什么),因为我想自己学习它是如何工作的。 urllib2文件真的没有帮助我。 谢谢。
我需要从非ASCII字符的URL获取数据,但urllib2.urlopen拒绝打开资源,并提出: UnicodeEncodeError: 'ascii' codec can't encode character u'\u0131' in position 26: ordinal not in range(128) 我知道url不符合标准,但我没有机会改变它。 使用Python访问由包含非ASCII字符的URL指向的资源的方式是什么? 编辑:换句话说,可以/如何urlopen打开一个URL,如: http://example.org/Ñöñ-ÅŞÇİİ/
我正在尝试使用urllib2 http客户端在python中创build一个下载进度条。 我已经浏览了API(和谷歌),似乎urllib2不允许你注册进度挂钩。 不过,较旧的已弃用的urllib具有此function。 有谁知道如何使用urllib2创build进度条或报告钩子? 还是有一些其他黑客获得类似的function?
我正在使用urllib2的urlopen中的超时参数。 urllib2.urlopen('http://www.example.org', timeout=1) 我如何告诉Python,如果超时到期,应该提高自定义错误? 有任何想法吗?
我有一个脚本,提取几个网页,并parsing信息。 (可以在http://bluedevilbooks.com/search/?DEPT=MATH&CLASS=103&SEC=01上看到一个例子) 我跑了cProfile,正如我所设想的,urlopen占用了很多时间。 有没有办法更快地获取页面? 或者一次获取多个页面的方式? 我会做任何最简单的,因为我是python和web开发的新手。 提前致谢! 🙂 更新:我有一个函数称为fetchURLs() ,我用它来创build一个我需要的URL的数组,这样的东西就像urls = fetchURLS() 。这些URL都是来自Amazon和eBay API的XML文件(这使我困惑urls = fetchURLS()加载需要很长时间,也许我的虚拟主机速度很慢?) 我需要做的是加载每个URL,读取每个页面,并将数据发送到脚本的另一部分,将parsing和显示数据。 请注意,我不能做后面的部分,直到所有的页面被提取,这就是我的问题是。 此外,我的主机一次限制我25个进程,我相信,所以最简单的服务器上将是好的:) 这是时候了: Sun Aug 15 20:51:22 2010 prof 211352 function calls (209292 primitive calls) in 22.254 CPU seconds Ordered by: internal time List reduced from 404 to 10 due to restriction <10> ncalls tottime percall cumtime percall […]
我正在寻找有关urllib2和httplib的线程安全性的信息。 官方文档( http://docs.python.org/library/urllib2.html和http://docs.python.org/library/httplib.html )缺less关于此主题的任何信息; 字线甚至没有提到那里… UPDATE 好的,它们不是线程安全的。 需要什么使它们成为线程安全的,或者是否有一种可以线程安全的scheme? 我问,因为这似乎是 在每个线程中使用单独的OpenerDirector 不在线程之间共享HTTP连接 足以安全地在线程中使用这些库。 问题urllib2和cookielib线程安全性提出了类似的使用情况
如何设置Python和urllib2的源IP /接口?
我使用下面的代码将大型文件从Internet传输到本地文件中: fp = open(file, 'wb') req = urllib2.urlopen(url) for line in req: fp.write(line) fp.close() 这工作,但它下载相当缓慢。 有更快的方法吗? (这些文件很大,所以我不想把它们留在内存中。)
我将潜在的大file upload到Web服务器。 目前我正在这样做: import urllib2 f = open('somelargefile.zip','rb') request = urllib2.Request(url,f.read()) request.add_header("Content-Type", "application/zip") response = urllib2.urlopen(request) 但是,这会在发布之前将整个文件的内容读入内存。 我怎样才能将文件stream式传输到服务器?
我正在尝试使用wx / Python创build一个超简单的虚拟input/输出板。 我已经得到了下面的代码,我的要求之一,我将存储数据的服务器: data = urllib.urlencode({'q': 'Status'}) u = urllib2.urlopen('http://myserver/inout-tracker', data) for line in u.readlines(): print line 没有什么特别的。 我遇到的问题是,根据我如何阅读文档,这应该执行一个Post Request,因为我提供了数据参数,这不会发生。 我有这个代码在该url的索引: if (!isset($_POST['q'])) { die ('No action specified'); } echo $_POST['q']; 每次运行我的Python应用程序时,都会将“未指定动作”文本打印到控制台中。 我将尝试使用请求对象来实现它,因为我已经看过一些演示,包括这些,但是我想知道是否有人可以帮我解释为什么我没有得到这个代码的Post请求。 谢谢! – 编辑 – 此代码确实工作,并正常发布到我的网页: data = urllib.urlencode({'q': 'Status'}) h = httplib.HTTPConnection('myserver:8080') headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} h.request('POST', '/inout-tracker/index.php', data, […]