from mechanize import Browser
br = Browser()
br.open('http://somewebpage')
html = br.response().readlines()
for line in html:
print line
Run Code Online (Sandbox Code Playgroud)
在HTML文件中打印一行时,我试图找到一种方法来只显示每个HTML元素的内容而不是格式本身.如果找到'<a href="whatever.com">some text</a>'
,它只会打印"一些文字",'<b>hello</b>'
打印"你好"等等.怎么会这样做呢?
我有一个接受请求并提供响应的通用方法.
public Tres DoSomething<Tres, Treq>(Tres response, Treq request)
{/*stuff*/}
Run Code Online (Sandbox Code Playgroud)
但我并不总是希望对我的请求做出回应,而且我并不总是希望提供请求数据以获得响应.我也不想完整地复制和粘贴方法以进行微小的更改.我想要的是能够做到这一点:
public Tre DoSomething<Tres>(Tres response)
{
return DoSomething<Tres, void>(response, null);
}
Run Code Online (Sandbox Code Playgroud)
这在某种程度上是可行的吗?似乎专门使用void不起作用,但我希望找到类似的东西.
我正在使用python为elgg编写REST客户端,即使请求成功,我也会回复:
Traceback (most recent call last):
File "testclient.py", line 94, in <module>
result = sendMessage(token, h1)
File "testclient.py", line 46, in sendMessage
res = h1.getresponse().read()
File "C:\Python25\lib\httplib.py", line 918, in getresponse
raise ResponseNotReady()
httplib.ResponseNotReady
Run Code Online (Sandbox Code Playgroud)
看看标题,我看到('content-length','5749'),所以我知道那里有一个页面,但我不能使用.read()来查看它,因为异常出现了.ResponseNotReady是什么意思,为什么我看不到返回的内容?
我有一个用python编写的机械化脚本,它填写了一个Web表单,并且应该点击"创建"按钮.但是有一个问题,表单有两个按钮.一个用于"添加附件",另一个用于"创建".两者都是"提交"类型,附加按钮是列出的第一个.因此,当我选择论坛并执行br.submit()时,它会点击"附加"按钮而不是"创建".广泛的谷歌搜索对于选择表单中的特定按钮没有任何帮助.有没有人知道跳过第一个"提交"按钮并点击第二个的任何方法?
from Tkinter import *
master = Tk()
listbox = Listbox(master)
listbox.pack()
listbox.insert(END, "a list entry")
for item in ["one", "two", "three", "four"]:
listbox.insert(END, item)
listbox2 = Listbox(master)
listbox2.pack()
listbox2.insert(END, "a list entry")
for item in ["one", "two", "three", "four"]:
listbox2.insert(END, item)
master.mainloop()
Run Code Online (Sandbox Code Playgroud)
上面的代码创建了一个tkinter
包含两个列表框的窗口.但是如果要从两者中检索值,则会出现问题,因为只要在一个值中选择一个值,它就会取消选择在另一个中选择的值.
这只是开发人员必须忍受的限制吗?
如何在Windows上使用python将png图像编码为base64?
iconfile = open("icon.png")
icondata = iconfile.read()
icondata = base64.b64encode(icondata)
Run Code Online (Sandbox Code Playgroud)
以上在Linux和OSX中工作正常,但在Windows上它将编码前几个字符然后缩短.为什么是这样?
我在QImage中有一个图像,我想在显示它之前在PIL中处理它.虽然ImageQT类允许我将PIL图像转换为QImage,但似乎没有任何东西可以从QImage转换为PIL图像.
我有一个python服务器,可以监听几个套接字.在启动时,我尝试在侦听之前连接到这些套接字,因此我可以确定没有其他任何东西已经在使用该端口.这增加了我的服务器启动大约三秒钟(没有测试大约.54秒),我想减少它.由于我只测试localhost,我认为大约50毫秒的超时时间就足够了.不幸的是,socket.setdefaulttimeout(50)方法由于某种原因似乎不起作用.
我怎么能减少它?