在网上搜了一下,解决办法如下。
找到authpy文件
locate authpy |grep bcloud
结果应该是:
/usr/lib/python3/dist-packages/bcloud/authpy
修改这个文件
sudo vi /usr/lib/python3/dist-packages/bcloud/authpy
修改内容部分
bds_re = recompile('BDSTOKEN\s=\s"([^"]+)"')
--------改成
bds_re = recompile('"bdstoken"\s:\s"([^"]+)"', reIGNORECASE)
以下实例是一个完整的代码,实现了从博客获取内容发布至百度,分别实践抓取博客内容、模拟登录、表单提交这几步;
#注意,以下程序是一个完全程序,如果只需要实现模拟登录,提交表单,删除抓取部分即可,相关的代码已经清楚标注,可以根据自己实际情况修改。
代码如下:
# -- coding: utf-8 --
import re
import urllib
import urllib2
import cookielib
#第一步,获取博客标题和正文 ,“IP”可以改为实际地址;
url = "IP"
sock = urlliburlopen(url)
html = sockread()
sockclose()
content = refindall('(<=blogstory">)(=<p class="right artical)', html, reS)
content = refindall('<script></script>()', content[0], reS)
title = refindall('(<=<title>)()- - CSDN(=</title>)', html, reS)
#根据文章获取内容新建表单值
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 = cookielibCookieJar()
#登陆百度的用户名和密码
post_data = urlliburlencode({'username': '[username]', 'password': '[password]', 'pwd': '1'})
#登录地址路径
path = '>
以上就是关于获取bdstoken失败什么意思全部的内容,包括:获取bdstoken失败什么意思、python http requests 怎么实现模拟登录,提交表单、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)