首页 > 其他 > 详细

黑板客爬虫闯关 代码

时间:2017-01-03 07:35:16      阅读:269      评论:0      收藏:0      [点我收藏+]

简介

原网址黑板客爬虫闯关

提供给网友的一个学习爬虫的网站,关卡设计由易到难,到后面逐渐涉及模拟登陆,多线程等,让你掌握网络爬虫的基本技术。

第一关:

简单的在网址后面输入数字就可以,只不过你需要N++++个数字才能到达第二关的入口,每次跳转页面里都有下一个页面的跳转数字。所以这里需要用爬虫爬取出每个页面的跳转数字,直到没有跳转数字为止就是第二关的入口了。

代码:

 1 #coding=gbk
 2 import re
 3 import urllib2
 4 
 5 rooturl = http://www.heibanke.com/lesson/crawler_ex00/
 6 url = rooturl
 7 
 8 while True:
 9     request = urllib2.Request(url)
10     response = urllib2.urlopen(request,timeout=30)
11 
12     html = response.read().decode(utf8)
13 
14     items = re.findall(r<h3>.*?(\d+).*?</h3>,html)
15 
16     if len(items)==0:
17         break
18     else:
19         num = items[0]
20         url = rooturl + num
21 
22     print go:
23     print url
24 
25 print answer:%s%url

第二关:

使用爬虫模拟post请求穷举密码即可。

代码:

 1 #coding=gbk
 2 import re
 3 import urllib
 4 import urllib2
 5 
 6 rooturl = http://www.heibanke.com/lesson/crawler_ex01/
 7 url = rooturl
 8 
 9 for pwd in range(0,31):
10         data = {}
11         data[username] = yym
12         data[password] = pwd
13         print 尝试%d%pwd
14 
15         post_data = urllib.urlencode(data)
16         #print post_data
17 
18         request = urllib2.Request(url)
19         response = urllib2.urlopen(request,post_data,timeout=30)
20 
21         html = response.read().decode(utf8)
22         if  html.find(密码错误.decode(gbk)) == -1:
23                 print 密码正确
24                 print answer:%d%pwd
25                 break
26         else:
27                 print 密码错误
28 if pwd==30:
29         print 没找到密码

 

 

Freecode# : www.cnblogs.com/yym2013

黑板客爬虫闯关 代码

原文:http://www.cnblogs.com/yym2013/p/5976401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!