Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4470998
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: Python/Ruby

2012-04-25 21:59:50

文章来源:http://blog.csdn.net/yatere/article/details/6649139
  • 使用已有的cookie访问网站

import cookielib, urllib2

ckjar = cookielib.MozillaCookieJar(os.path.join(’C:\Documents and Settings\tom\Application Data\Mozilla\Firefox\Profiles\h5m61j1i.default’, ‘cookies.txt’))

req = urllib2.Request(url, postdata, header)

req.add_header(’User-Agent’, \ 
‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)’)

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar) )

f = opener.open(req) 
htm = f.read() 
f.close()

  • 访问网站获得cookie,并把获得的cookie保存在cookie文件中

import cookielib, urllib2

req = urllib2.Request(url, postdata, header) 
req.add_header(’User-Agent’, \ 
‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)’)

ckjar = cookielib.MozillaCookieJar(filename) 
ckproc = urllib2.HTTPCookieProcessor(ckjar)

opener = urllib2.build_opener(ckproc)

f = opener.open(req) 
htm = f.read() 
f.close()

ckjar.save(ignore_discard=True, ignore_expires=True)

  • 使用指定的参数生成cookie,并用这个cookie访问网站


  1. import urllib.request as ur
  2. import urllib.parse as up
  3. #import http.cookiejar as cj
  4. #coding:gbk

  5. charset='utf8'

  6. #组件信息
  7. #cookiejar = cj.CookieJar()
  8. #urlopener = ur.build_opener(ur.HTTPCookieProcessor(cookiejar))
  9. urlopener = ur.build_opener(ur.HTTPCookieProcessor())

  10. #jiayuan配置信息
  11. name='Yatere'
  12. uid='22017518'

  13. #http头
  14. headers={'User-Agent':'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)'}
  15. seachhead={'User-Agent':'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)',
  16.            'Referer':'',
  17.            'Origin':''}

  18. #用户登入data
  19. values = {'password':'198398','name':'yin_kai@163.com'}


  20. #搜索data
  21. searchdata={
  22.     '***':'f',
  23.     'work_location':'42',
  24.     'work_sublocation':'4201',
  25.     'min_age':'22',
  26.     'max_age':'26',
  27.     'min_height':'160',
  28.     'max_height':'180',
  29.     'education':'20',
  30.     'edu_more_than':'on',
  31.     'astro':'0',
  32.     'animal':'',
  33.     'bloodtype':'0',
  34.     'income':'0',
  35.     'house':'0',
  36.     'auto':'0',
  37.     'marriage':'1',
  38.     'children':'0',
  39.     'level':'0',
  40.     'industry':'0',
  41.     'company':'0',
  42.     'home_location':'42',
  43.     'home_sublocation':'4201',
  44.     'nation':'0',
  45.     'belief':'0',
  46.     'ques_love':'0',
  47.     'avatar':'on',
  48.     'save_name':''}


  49. #post数据转换程序
  50. def data(values):
  51.     data=up.urlencode(values).encode()
  52.     return data


  53. #访问指定页面
  54. def geturlcon(url,data=None,headers=headers):
  55.     request = ur.Request(url,data,headers)
  56.     url = urlopener.open(request)
  57.     page=url.read().decode('utf8','ignore')
  58.     return page

  59. #检测是否登入成功
  60. def checklogin(page):
  61.     if page.find(name)>0:
  62.         return True
  63.     elif page.find(uid)>0:
  64.         return True
  65.     else:
  66.         return False
  67.         

  68. #访问登陆页面(获得cookie)
  69. url1=''
  70. geturlcon(url1,data(values),headers)



  71. #登入后访问其他页面
  72. url2=''
  73. page=geturlcon(url2)
  74. if checklogin(page):
  75.     print ('登入成功')
  76. else:
  77.     print ('登入失败')

  78. url3=''
  79. page=geturlcon(url3)

  80. if checklogin(page):
  81.     print (url3,'登入成功')
  82. else:
  83.     print ('登入失败')


  84. #查看搜索结果
  85. url3='result.php?t=10&m=1'
  86. page=geturlcon(url3,data(searchdata),seachhead)

  87. if checklogin(page):
  88.     print (url3,'登入成功')
  89. else:
  90.     print ('登入失败')


阅读(1536) | 评论(0) | 转发(0) |
0

上一篇:python 模拟IE

下一篇:python之sqlite3使用详解

给主人留下些什么吧!~~