关于python3爬虫入门教程爬虫的一个问题,小白求教

小白求教 简单问题_python吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:68,426贴子:
小白求教 简单问题收藏
比如abclist=['whh','ksf',nfsq','wz','bym']
怎么用python创建一个循环来打印这个列表。要求打出来的列表是这样的 1whh 2ksf3nfsq4wz5bym
python代写、python教学,任君选择!一、幸福python代写:长期代写,诚信服务,信誉第一!(详情介绍如图)二、300python编程教学班:(最实惠教学班,学费仅300元,不限期)教学课程目录:请点击
for i in abclist: print(i)
一看就懂,一懂就会,一会就OK,来思必达学院有海量的编程视频,只有你想不到的没有你看不到的!
list=['whh','ksf',nfsq','wz','bym']for k in range(1,6):
print str(k)+list[k-1]print &OK&
在python中,函数传参分两种可变参数和不可变参数 ,想整数,字符串等都是不可变的,无论在函数内怎样修改,对外面是没改变的
,你的第一个例子明显有错误
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
最近在学习写远程密码登录,网上找了一些资料并尝试理解和修改
其中 while not buff.endswith('# '):&&语句不知道自己理解的是否正确,网上查了资料 endswith() 代表识别最后结尾... while not 为 当什么不是。。
假设 当前输出结尾符号为#号如,那么 endswith() 判断为真,那么下面的语句不执行,如果当前符号为$号,那么判断为假,执行下面语句,不知道我理解的是否正确,假设我理解正确,那么为什么当结尾符号当前为#号时以下语句还是执行 print 呢?
if username != 'root':
& && &&&ssh = s.invoke_shell()
& && &&&time.sleep(0.1)
& && &&&ssh.send('su - \n')&&# root update
& && &&&buff = ''
& && &&&while not buff.endswith('Password: '):
& && && && &resp = ssh.recv(9999)
& && && && &buff+=str(resp,'utf8')
& && &&&ssh.send(password)&&# root passwd
& && &&&ssh.send('\n')
& && &&&buff = ''
& && &&&while not buff.endswith('# '):
& && && && &resp = ssh.recv(9999)
& && && && &buff+=str(resp,'utf8')
& && && && &print ('incorrect password')
& && && && &break
& && &&&ssh.send('passwd %s' %(username)) # pwc username
& && &&&ssh.send('\n')
& && &&&buff = ''
& && &&&while not buff.endswith('password: '):
& && && && &resp = ssh.recv(9999)
& && && && &buff+=str(resp,'utf8')
& && &&&ssh.send(newpasswd)&&# new passwd
& && &&&ssh.send('\n')
& && &&&buff = ''
& && &&&while not buff.endswith('password: '):
& && && && &resp = ssh.recv(9999)
& && && && &buff+=str(resp,'utf8')
& && &&&ssh.send(newpasswd)&&# re new passwd
& && &&&ssh.send('\n')
& && &&&buff = ''
& && &&&while not buff.endswith('# '):
& && && && &resp = ssh.recv(9999)
& && && && &buff+=str(resp,'utf8')
& && &&&s.close()
顺便问问,这段代码在root密码错误时 感觉会无限循环,所以想在密码错误的情况下跳出循环,但是好像不成功,后面每个while 都加过break的情况下。&&我用的是pyscripter, python3.4版本。请各位指导一下,万分感谢
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
无人能解惑吗?小弟自己顶贴一下
腰缠万贯, 积分 8375, 距离下一级还需 1625 积分
论坛徽章:45
本帖最后由 haooooaaa 于
14:27 编辑
while not buff.endswith('# ')
如果 不 以 # 结尾的话,&&就运行.
一个参考:[root@cAdmin tmp]# more 4
1
2
3
4#
5
6
[root@cAdmin tmp]# more test.py
f = open(&4&)
a = f.readlines()
buff,i = a[0], 0
while not buff.strip().endswith('#'):
& & print buff,
& & i += 1
& & buff = a[i]
[root@cAdmin tmp]# python test.py
1
2
3复制代码
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
& & 我也是这么看的,问题是当以# 结尾的时候它还运行print ,所以觉得。。。。
腰缠万贯, 积分 8375, 距离下一级还需 1625 积分
论坛徽章:45
lightlevin
& & while not buff.endswith('# ')
你上面这句话, #后面还有空格, 是这样?
然后字符串,把 rstrip() 一下, 可能更加准确一点.
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
& & 空格需要,否则识别不出来。 问题是如果是#号,不应该执行
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&#print(str(resp,'utf8'))
& && &&&print ('incorrect password')
& && &&&print(buff)
& && &&&#break
这一段语句吧,如果不是才执行吧,我理解有问题吗
腰缠万贯, 积分 8375, 距离下一级还需 1625 积分
论坛徽章:45
本帖最后由 haooooaaa 于
15:24 编辑
lightlevin
& & 你应该确认你的 buff 这里到底是什么样的数据?
看刚才的参考, 如果之前的行,都没有 #空格 这个结尾, 是不是在运行中? 直到有 这个才中断,
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
& & 越来越蒙了
if username != 'root':
& & ssh = s.invoke_shell()
& & time.sleep(0.1)
& & ssh.send('su - \n')&&# root update
& & buff = ''
& & print('0 s')
& & print(buff)
& & print('0 e')
& & while not buff.endswith('Password: '):
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&print('1 s')
& && &&&print(buff)
& && &&&print('1 e')
& & ssh.send(password)&&# root passwd
& & ssh.send('\n')
& & buff = ''
& & print('2 s')
& & print(buff)
& & print('2 e')
& & while not buff.endswith('# '):
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&print ('incorrect password')
& && &&&print('3 s')
& && &&&print(buff)
& && &&&print('3 e')
& & ssh.send('passwd %s' %(username)) # pwc username
& & ssh.send('\n')
& & buff = ''
& & print('4 s')
& & print(buff)
& & print('4 e')
& & while not buff.endswith('password: '):
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&#print(str(resp,'utf8'))
& && &&&print('5 s')
& && &&&print(buff)
& && &&&print('5 e')
& & ssh.send(newpasswd)&&# new passwd
& & ssh.send('\n')
& & buff = ''
& & print('6 s')
& & print(buff)
& & print('6 e')
& & while not buff.endswith('password: '):
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&print('7 s')
& && &&&print(buff)
& && &&&print('7 e')
& & ssh.send(newpasswd)&&# re new passwd
& & ssh.send('\n')
& & buff = ''
& & print('8 s')
& & print(buff)
& & print('8 e')
& & while not buff.endswith('# '):
& && &&&resp = ssh.recv(9999)
& && &&&buff+=str(resp,'utf8')
& && &&&print('9 s')
& && &&&print(buff)
& && &&&print('9 e')
buff 记录如下:
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$ su -
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$ su -
incorrect password
incorrect password
[root@localhost ~]#
passwd tbz
passwd tbz
passwd tbz
Changing password for user tbz.
passwd tbz
Changing password for user tbz.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
--- 每个循环都需要三次 不知道什么原因,还没有想通,还有就是这个记录是在 结尾符号为 # 的情况下,依然有 print 打印incorrect password ,能告诉一下原理吗
腰缠万贯, 积分 8375, 距离下一级还需 1625 积分
论坛徽章:45
如果只是那个循环不明白, 你看我写的那个参考,
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
& & 确实有点不理解:
先执行了 su
&&ssh.send('su - \n')&&# root update
这时候buff 为 空
为什么会在 1s 和 1e 这个结算有三次 循环?
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$& && && && && && && &&&----- 这个不是应该在 连接后开启session 就已经达到的状态吗? 怎么还会在后面的buff 中体现?是否是之前就存在revc 中?也不对,没有搞懂
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$ su -& && && && && && && && & ----这个不是之前应该已经完成的操作吗?请指教
Last login: Wed Jul&&8 00:32:15 2015 from 192.168.100.1
[tbz@localhost ~]$ su -python 爬虫学习小问题_百度知道}

我要回帖

更多关于 python3.5爬虫教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信