返回顶部

收藏

Python 模拟登录及表单提交

更多

[Python]代码

 # -*- coding: utf-8 -*-  
 import re  
 import urllib  
 import urllib2  
 import cookielib  

 #获取CSDN博客标题和正文  
 url = "http://blog.csdn.net/[username]/archive/2010/07/05/5712850.aspx"  
 sock = urllib.urlopen(url)  
 html = sock.read()  
 sock.close()  
 content = re.findall('(?<=blogstory">).*(?=<p class="right artical)', html, re.S)  
 content = re.findall('<script.*>.*</script>(.*)', content[0], re.S)  
 title = re.findall('(?<=<title>)(.*)-.* - CSDN.*(?=</title>)', html, re.S)  
 #根据上文获取内容新建表单值  
 blog = {'spBlogTitle': title[0].decode('utf-8').encode('gbk'), #百度博客标题  
         'spBlogText': content[0].decode('utf-8').encode('gbk'),#百度博客内容  
         'ct': "1",  
         'cm': "1"}  
 del content  
 del title  

 #模拟登录  
 cj = cookielib.CookieJar()  
 #用户名和密码  
 post_data = urllib.urlencode({'username': '[username]', 'password': '[password]', 'pwd': '1'})  
 #登录路径  
 path = 'https://passport.baidu.com/?login'  
 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))  
 opener.addheaders = [('User-agent', 'Opera/9.23')]  
 urllib2.install_opener(opener)  
 req = urllib2.Request(path, post_data)  
 conn = urllib2.urlopen(req)  

 #获取百度发布博客的认证令牌  
 bd = urllib2.urlopen(urllib2.Request('http://hi.baidu.com/[username]/creat/blog')).read()  
 bd = re.findall('(?<=bdstoken\" value=\").*(?=ct)', bd, re.S)  
 blog['bdstoken'] = bd[0][:32]  
 #设置分类名  
 blog['spBlogCatName'] = 'php'  
 #比较表单发布博客  
 req2 = urllib2.Request('http://hi.baidu.com/[username]/commit', urllib.urlencode(blog))  

 #查看表单提交后返回内容  
 print urllib2.urlopen(req2).read()  

 #请将[username]/[password]替换为您的真实用户名和密码

标签:登录,表单

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. sxwgf 发表 2015-07-20 14:41:09 动态背景的CSS3登录表单
  2. yannis 发表 2015-01-03 05:08:44 Sketch 新手入门: 设计一个登录表单【译】
  3. Li Xi 发表 2014-01-08 15:03:00 Drupal 7 自定义登录页模板
  4. welefen 发表 2013-04-08 10:35:11 mac下建立信任关系和快速登录
  5. 小蝴蝶 发表 2013-06-04 14:58:42 简易PHP登录上传程序
  6. dream 发表 2013-07-29 00:59:23 国内互联网企业登录界面大集合
  7. dormy 发表 2013-10-14 02:14:46 新浪微博Rsa2加密方式,登录
  8. 天外飞仙 发表 2014-02-28 22:55:42 仿苹果公司登录框jQuery特效
  9. 博主 发表 2014-06-26 07:00:00 流量劫持 —— 浮层登录框的隐患
  10. rocdk890 发表 2015-02-02 05:37:42 linux登录界面装饰图
  11. 博主 发表 2009-10-21 16:00:00 Extjs读取xml文件生成动态表格和表单
  12. Huqiu Liao / Srain 发表 2014-09-15 16:00:00 ssh public key认证免密码登录