python访问网页带cookie问题

注册失败 2009-12-25 05:14:36
我现在要用python访问一个网站的网页,取得一些信息
但是网站要求先登录,然后才能继续访问,登录过程就是写了个cookie
请问下python访问网页怎么保持住cookie呢?

我用的是python3.1,只有urllib和http两个库了
网上找了一些代码,都是python2.x版本的

哪位好心的兄弟写几句python3.1的代码,感激不尽
...全文
870 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
注册失败 2010-01-06
  • 打赏
  • 举报
回复
啊,难道PY3.1就没人用了么。。。
notax 2010-01-06
  • 打赏
  • 举报
回复


http://docs.python.org/dev/3.0/library/http.cookiejar.html

or

试试 2to3
注册失败 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cdsoftwarewj 的回复:]
这个简单

Python code# coding: UTF-8import urllib2, httplib, urllib, sys, cookielibif__name__=="__main__":
cj= cookielib.CookieJar()
body= (('staffNo','mop用户名'), ('password','mop密码'))
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders= [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
urllib2.install_opener(opener)
req=urllib2.Request(url,urllib.urlencode(body))
u=urllib2.urlopen(req)#print u.read().decode('utf-8').encode('gbk') url='http://app.mop.com/tycoon/'
u= urllib2.urlopen(url)
u= urllib2.urlopen('http://app.mop.com/tycoon/myEmpire.do');print u.read().decode('utf-8').encode('gbk')
[/Quote]

多谢楼上各位老大
能不能写一个python3.1的例子呢
python3.1里没有urllib2了,合并到urllib里了
我也试着照这样的例子改写过,总是改不对。。。
CDSoftwareWj 2010-01-04
  • 打赏
  • 举报
回复
说真的一直没用过py3.0以上版本,最高就是2.6了
gnutools 2010-01-01
  • 打赏
  • 举报
回复
知道了,用PAMIE
gnutools 2010-01-01
  • 打赏
  • 举报
回复
顺便问一个问题,如何对页面里的条件选择后再访问站点,有的站点比如带搜索功能,需要选择搜索条件,然后再确认发出由站点返回查询页面。
在python里如何对这些搜索条件进行选择呀?
CDSoftwareWj 2009-12-30
  • 打赏
  • 举报
回复
这个简单


# coding: UTF-8
import urllib2, httplib, urllib, sys, cookielib

if __name__ == "__main__":
cj = cookielib.CookieJar()
body = (('staffNo','mop用户名'), ('password','mop密码'))
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
urllib2.install_opener(opener)
req=urllib2.Request(url,urllib.urlencode(body))
u=urllib2.urlopen(req)
#print u.read().decode('utf-8').encode('gbk')
url = 'http://app.mop.com/tycoon/'
u = urllib2.urlopen(url)
u = urllib2.urlopen('http://app.mop.com/tycoon/myEmpire.do');
print u.read().decode('utf-8').encode('gbk')
liling234 2009-12-29
  • 打赏
  • 举报
回复
我也想知道
Semigod 2009-12-29
  • 打赏
  • 举报
回复
请参看cookiejar
多鱼的夏天 2009-12-29
  • 打赏
  • 举报
回复
在 http header中加入Cookie 即可,参考下列代码:


headers = [
("Cookie",cookiestr)
]
request =urllib2.Request(self.url)
opener=urllib2.build_opener()
opener.addheaders = headers
stream = opener.open(request)
html = stream.read()

luofeiyu2009 2009-12-26
  • 打赏
  • 举报
回复
我也想知道

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧