用python写了一个csdn的模拟登录程序,运行失败了

dystopiaz dystopiaz 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
# -*- coding:utf-8 -*-
import sys
from fileinput import filename
reload(sys)
sys.setdefaultencoding('utf-8')
# -*- coding:utf-8 -*-
import urllib
import urllib2
import re
import hashlib
import cookielib
import webbrowser

cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))


loginurl = 'https://passport.csdn.net/account/login'
loginheaders = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
#'Accept-Encoding':'gzip,deflate,sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Host':'my.csdn.net',
'Proxy-Connection':'keep-alive',
'Referer':'http://passport.csdn.net/account/login?from=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn',
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36',
}

result = urllib2.urlopen(url = loginurl)
content = result.read().encode('UTF-8')
print content


pattern = re.compile('name="lt" value="(.*?)"')
match = re.search(pattern,content)
lt_code = match.group(1)
print lt_code

pattern = re.compile('name="execution" value="(.*?)"')
match = re.search(pattern,content)
execution_code = match.group(1)
print execution_code

postdata = urllib.urlencode({
'username':'这里填我的用户名',
'password':'这里填我的密码',
'rememberMe':'true',
'lt':lt_code,
'execution':execution_code,
'eventId':'submit',
'l':'登 录',
})

req = urllib2.Request(url = 'https://passport.csdn.net/account/login',data = postdata,headers = loginheaders)

result = opener.open(req)
content = result.read().encode('UTF-8')
print content

显示在req这里出了问题,求大神解答一下,多谢了
引用
LT-2250024-Rsx6xFCktUTcidVsWEilzjawsdbpbX
e1s1
Traceback (most recent call last):
File "D:\Program Files (x86)\eclipse-java-luna-SR1a-win32-x86_64\eclipse\workspace\csdn\src\csdn.py", line 56, in <module>
result = opener.open(req)
File "D:\python2.7\lib\urllib2.py", line 437, in open
response = meth(req, response)
File "D:\python2.7\lib\urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "D:\python2.7\lib\urllib2.py", line 475, in error
return self._call_chain(*args)
File "D:\python2.7\lib\urllib2.py", line 409, in _call_chain
result = func(*args)
File "D:\python2.7\lib\urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
...全文

相关推荐

python 爬虫模拟登陆csdn

CSDN是一个大型的中文开发者社区,其登录过程通常涉及到验证码、cookies和session,因此使用简单的HTTP请求可能无法完成模拟登陆。

liu__cloud

Python爬虫:模拟登录CSDN并抓取数据

CSDN是国内最大的技术社区之一,拥有大量的技术博客和讨论,广泛应用于学习和分享各种技术。爬虫抓取CSDN的公开内容,可以为我们提供丰富的数据来源。本文将介绍如何通过Python爬虫模拟登录CSDN,抓取博客、评论以及其他公开信息,分析这些数据的价值。

Python爬虫项目

Python 爬虫实战:CSDN 博客数据爬取(登录验证 + 阅读量统计)

CSDN 作为国内领先的开发者社区,汇聚了海量的技术博客和文章,这些内容不仅对技术学习者极具价值,也对博主自身的成长和影响力有着重要意义。通过 Python 爬虫技术,我们可以实现对 CSDN 博客数据的抓取,包括登录验证和阅读量统计,帮助博主更好地了解自己的博客访问情况,优化内容创作策略。

Python核芯

python+selenium模拟登陆CSDN源码

**Selenium**: Selenium是一个用于Web应用程序测试的开源工具,但它也可以用于网页的自动化操作,包括模拟用户行为。

xingjuzhang

Python登录并获取CSDN博客所有文章列表代码实例

### Python登录并获取CSDN博客所有文章列表代码实例#### 概述本文将详细介绍如何使用Python模拟登录CSDN网站,并通过自动化的方式获取个人博客的所有文章列表。

weixin_38610682
评论
收藏 已收藏
分享
返回顶部
dystopiaz
脚本语言 37,737 成员 34,208 内容