sarras322 2015-02-13 09:03 采纳率: 10%
浏览 1865

python cookie的问题。真的谷歌不到。。。

import urllib2
response = urllib2.urlopen('http://www.pceggs.com/play/pc28.aspx')
html = response.read()
print html
f = open('c:\Users\Administrator\Desktop\pceggs.html','a')
f.write(html)
f.close()

有的页面需要登录才能抓取源码,需要用到cookielib,那我用urllib2的时候咋同时用cookielib访问网站?
我英文不好,谷歌中文没有找到解决方法,懂得说下呗,真心谢了

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-02-13 09:50
    关注
    import cookielib, urllib2
    
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    # default User-Agent ('Python-urllib/2.6') will *not* work
    opener.addheaders = [
        ('User-Agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11'),
        ]
    
    
    stylesheets = [
        'https://www.idcourts.us/repository/css/id_style.css',
        'https://www.idcourts.us/repository/css/id_print.css',
    ]
    
    home = opener.open('https://www.idcourts.us/repository/start.do')
    print cj
    sessid = cj._cookies['www.idcourts.us']['/repository']['JSESSIONID'].value
    # Note the +=
    opener.addheaders += [
        ('Referer', 'https://www.idcourts.us/repository/start.do'),
        ]
    for st in stylesheets:
        # da trick
        opener.open(st+';jsessionid='+sessid)
    search = opener.open('https://www.idcourts.us/repository/partySearch.do')
    print cj
    # perhaps need to keep updating the referer...
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据