爬虫闯关 - 第一关

最近在学爬虫,发现一个好玩的网站:黑板客爬虫闯关,以闯关的形式考验你的技术能力,非常不错.

现在把第一关实现.

题目描述:

打开网址 http://www.heibanke.com/lesson/crawler_ex00/ ,可看到

这里写图片描述

然后在网址 lesson/crawler_ex00/后添加93147会出现另一个数字,显然,靠手动输入数字是不现实的,那我们用python去循环获取:

实现:

通过urlopen方法下载html页面,并用正则表达式在html中抓取5位数字,然后循环get新的url,直到html没有“数字是xxxxx”等字符串,最后打印出成功闯关的html页面文件。

import urllib.request
import re

tmp_re = urllib.request.urlopen('http://www.heibanke.com/lesson/crawler_ex00/')
html = tmp_re.read()
#寻找字符串为"输入数字xxxxx"的字符串中的xxxxx,index得到五位数的数字
index=re.findall(r'输入数字([0-9]{5})',html.decode('utf-8'))
while index:
    url ='http://www.heibanke.com/lesson/crawler_ex00/%s/' % index[0]
    print(url)
    tmp_re = urllib.request.urlopen(url)
    html = tmp_re.read().decode('utf-8')
    index = re.findall(r'数字是([0-9]{5})',html)
print(html)

参考: http://vjson.com/wordpress/category/python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值