黑板客爬虫第一关

题目:按照网页提示在原始URL后面加上数字进入下一个页面。

分析:刚开始我直接提取所需的数字。几次之后突然报错,我过去一看,提示内容居然变了。仔细观察发现都是在<h3>标签里面,汉字有所变化但只有一串数字。所以我改变了思路,先把<h3>标签里的内容提取出来,再用正则表达式提取出里面的数字,加到原始URL后面。这里只需要用get()命令就行了。

注意:re.findall返回的是一个列表。索性提取出的只有一个元素。直接索引[0]就行了。

# -*- coding:utf-8 -*-
__author__ = "Bohn"

import requests
import re

URL = "http://www.heibanke.com/lesson/crawler_ex00/"
response = requests.get(URL)

#第一次是在初始页面,可以提出特别处理。
num = re.findall('<h3>你需要在网址后输入数字(.*?)</h3>', response.text, re.S)
pattern = re.compile('<h3>(.*?)</h3>', re.S)

#定义一个变量x记录次数。
x = 1
while(num != []):
    element = re.findall("\d+", num[0])
    URL1 = URL + element[0]
    response = requests.get(URL1)
    num = re.findall(pattern, response.text)
    print(x,' ',URL1)
    x += 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值