例如,有两个网页需要按顺序打开:
mechanize文档显示,如果第二个需要在第一个中设置的cookie,则可以逐个打开它们。如下:
import mechanize
import urllib
request = mechanize.Request("http://www.example.com/")
response = mechanize.urlopen(request)
# let's say this next request requires a cookie that was set in response
request2 = mechanize.Request("http://www.example.com/spam.html/")
response2 = mechanize.urlopen(request2)
另一方面,忽略下面的'params'部分,它的功能是否相同,特别是对于cookie部分?这两组代码有什么区别?
br = mechanize.Browser()
postDict = {'username' : 'name',
'password' : 'pass',}
params = urllib.urlencode(postDict)
response = br.open(‘www.example.com’, params)
response1 = br.open(‘www.example.com/spam.html’)
感谢。
。 。 。 。
我在这个问题背后的问题是,通过使用第二组代码,它设法登录“http://www.example.com/”。但是当试图打开“www.example.com/spam.html”时,它会返回第一页的内容,这是不想要的。
通过使用真正的Brower,例如Internet Explorer,我可以在一个标签中登录“http://www.example.com/”,并在同一浏览器中的另一个标签中成功打开“www.example.com/spam.html”。没问题。
为什么代码没有返回第二页?感谢。