Python 爬虫闯关(第一关)

爬虫学习-Scrape Center闯关(spa系列1-3) 场景 上次写了ssr系列,它主要依靠服务器渲染代码,并且没有什么困难的地方,主要学习的是request请求中的技巧和html页面元素的定位抓取等爬虫基础技巧。这次记录的是spa系列,这个系列的代码数据都通过Ajax加载,页面动态渲染,主要学习的是通过接口获取json数据并处理以及js的逆向分析,难度提升了一大截,这个系列我的目标是爬取首页每个电影的标题,主题,评分以及电影详情页里面的电影剧情 技术 json数据的处理,js逆向分析 关卡 spa1 电影数据网站,无反爬,数据通过 Ajax 加载,页面动态渲染 阅读详情

在学习爬虫时,遇到了一个有意思的网站,这个网站设置了几个关卡,需要经过爬虫进行闯关,随着关卡的网后,难度不断增加,在闯关的过程中需要学习不同的知识,你的爬虫水平也自然随之提高。

今天我们先来第一关,访问http://www.heibanke.com/lesson/crawler_ex00/:

第一关

按照提示,我们把数字放到地址栏的后面,再次进行访问:

再次访问

发现,还要再用新的数字放在地址栏进行访问,我们可以猜测了,第一关是将页面出现的数字填写到当前 url 的尾部进行访问,然后会得到一个新的数字,再用它替换 url 中的尾部数字,这样不断循环往复,直到页面出现成功标识:

中间环节页面

那么思路也有了:

  1. 解析页面中的数字;
  2. 将数字拼接成新的 URL;
  3. 访问新的 URL,重复第 1 步;
  4. 直至页面没有数字可以解析到!

逻辑比较简单,这里我们直接上代码了:

BeautifulSoup 实现

# coding=utf-8

import requests, bs4, re

url = 'http://www.heibanke.com/lesson/crawler_ex00/'

while True:
    # download the page
    print("forward to page %s ..." % url)
    response = requests.get(url)
    print("the return code : " + str(response.status_code))

    soup = bs4.BeautifulSoup(response.text, "html.parser")

    # 获取页面数字
    comic = soup.select('h3')
    print(comic[0].getText())
    number = re.findall("\d+", comic[0].getText())
    if number == []:
        print('The end.')
        break;
    else:
        url = 'http://www.heibanke.com/lesson/crawler_ex00/' + number[0] # 拼接新地址

程序运行结果

selenium 实现

# coding=utf-8

import requests, re
from selenium import webdriver

url = 'http://www.heibanke.com/lesson/crawler_ex00/'

browser = webdriver.Firefox()

while True:
    # download the page
    print("Forward to page %s ..." % url)
    browser.get(url)
    elem = browser.find_element_by_tag_name('h3')

    # get the url of the for the next page
    print(elem.text)
    number = re.findall("\d+", elem.text)
    if number == []:
        print('The end.')
        browser.quit()
        break;
    else:
        url = 'http://www.heibanke.com/lesson/crawler_ex00/' + number[0] # 拼接新地址

到这里我们才能看到最终成功的页面长这样:

最终页面

好了,第一关相对来说比较容易,下次我们来搞一下第二关,又兴趣的可以自己先上手攻取下了~


如果觉得有用,欢迎关注我的微信,一起学习,共同进步,不定期推出赠书活动~

你的关注是对我最大的鼓励!

什么是网络爬虫 又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。 阅读详情

相关推荐

五分钟学会Python网络爬虫

但不管怎样,爬虫技术是无罪的,还是值得我们开发人员去学习了解一下的。在学习之前,我们还是要先了解一下相关概念。 什么是爬虫 网络爬虫:又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 大数据时代,要进行数据分析,首先要有数据源,可数据源从哪里来,花钱买,没预算,只能从其它网站就行抓取。 细分下来,业内分为两类:爬虫和反爬虫。 反爬虫:顾名思义,就是防止你来我网站或APP上做爬虫的。 爬虫工程师和反爬虫工程师是一对相爱相杀的小伙伴,经常因为对方要加班写代码,

python588的博客 2352

33 关 Python 游戏,测试你的爬虫能力到底及不及格

最近在网上看到一个非常有意思的 Python 游戏通关网站,一共有 33 关,每一关都需要利用 Python 知识解题找到答案,然后进入下一关。 很考验对 Python 的综合掌握能力,比如有的闯关需要用到正则表达式,有的要用到爬虫。 我们平常学 Python 都是按章节顺序、包或者模块来学,容易前学后忘。正好可以拿这个网站来综合测试一下对 Python 的掌握情况,以便查缺补漏。 来说说这个网站怎么玩。 mark 这是网站主页面,很有历史感对吧,诞生了已有十几年了。但千万不要因为看着像老古董

BYGFJ的博客 512

【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析

本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。

weixin_29218509的博客 520

爬虫学习-scrape center闯关(ssr系列)

场景 最近在学习爬虫,实践使用的是https://scrape.center/网站的环境 第一关没有任何限制,结果爬取的是所有的电影地址,标题,主题,分数,剧情简介 技术 主要使用的是request库和BeautifulSoup,最后导出一个csv文档 代码 import pandas as pd import urllib3 from bs4 import BeautifulSoup import requests urllib3.disable_warnings() #去除因为网页没有ssl证书出现

鸣蜩十四的博客 4319

ubuntu24.04+RTX5090D 显卡驱动安装

本文详细介绍了在Ubuntu系统中更新内核、安装NVIDIA驱动的步骤。首先,通过mainline工具安装新版内核,并确保GCC版本兼容。接着,在无桌面环境下配置TTY模式,解决中文显示问题。然后,禁用默认的nouveau驱动,安装NVIDIA驱动,并选择开源驱动以避免黑屏问题。最后,重新启用图形界面,并通过测试软件验证显卡功能。整个过程涵盖了内核更新、驱动安装、TTY配置及图形界面恢复等多个关键步骤,适合需要手动配置NVIDIA驱动的用户参考。

妖米的博客 4671

面向多目标跟踪的数据关联方法研究综述

摘要:多目标跟踪技术在军事和民用领域具有广泛应用,其核心挑战在于数据关联问题。本文系统梳理了数据关联的主要解决方法,首次将经典算法分为确定性关联和概率性关联两大类。确定性关联(如NNDA、GNN、MHT)采用"硬分配"策略,计算效率高但易受噪声干扰;概率性关联(如PDA、JPDA、PMHT)通过"软分配"处理不确定性,更适合复杂场景。文章详细分析了各类算法的原理、适用条件和优缺点,并探讨了智能学习等新兴技术在视觉跟踪等领域的应用。研究指出,尽管随机集滤波等新方法出现,

qq_43416206的博客 1139

33关Python游戏,测试你的爬虫能力到底及格不?_python 33 关

可以看到出现次数最少的就是最后几个字符,合起来是「equality」,替换 url 字符就闯过过了第 2 关进入下一关继续挑战。这一关要求是修改 URL 链接,给的提示是电脑上的数学表达式:2 的 38 次方,所以大概就是需要计算出数值,然后修改url 进入下一关。图片中的笔记本给了三组字母,很容易发现规律:前面的字母往后移动两位就是后面的字母。可以看到,最终循环了 85 次找到了最后一个数字16044,输入到 url 中就闯关成功。所以这关就是考 Python 的基本数值运算,你知道怎么算么?

2401_89173062的博客 543

Java8对接三方流式接口,并实时输出(GPT)

【代码】Java8对接三方流式接口,并实时输出(GPT)

m0_58617940的博客 1726

爬虫工程师必玩的三个闯关网站

通过之前整理的 JS 逆向练手 系列的文章,咸鱼在后台也收到一些反馈:JS 逆向练手项目对萌新选手不是很友好,有没简单的网站可以 py 一下?为了让萌新选手有题可练,咸鱼搜罗了三个可以...

咸鱼学Python的博客 1433

LLVM 编译器学习笔记之三十六-- 指令调度Instruction scheduling

1、参考Instruction scheduling in LLVM - 知乎,在中后端均存在指令调度 指令调度模型 2、在llvm12->llvm14 中Machine Instruction Scheduler有个patch增强了load/store指令的合并,也就是指令调度不仅仅只是改变指令的顺序,该优化类似gcc中的store-merge优化 .....................................................................

~ 飞 扬 的 天 空 ~ 5685

大厂硬件笔试机试题ASIC设计方向-卷3

本文提供了30道硬件工程师机试题目,涵盖数字逻辑、模拟电路、CMOS和信号处理等核心领域。选择题和判断题均配有详细解析,重点考察Verilog编程、CMOS特性、触发器设计、采样定理等知识点。题目难度适中但覆盖面广,如Verilog中阻塞/非阻塞赋值的区别、CMOS静态功耗来源、Nyquist采样定理、通用逻辑门判断等。备考建议强调掌握逻辑门设计、Verilog时序电路编写和CMOS特性理解。这些题目反映了华为等大厂硬件机试的典型考查内容,通过系统复习可有效提升机试成绩,为后续面试奠定基础。

启芯硬件的博客 541

Python 黑板客爬虫闯关的第一关

黑板客爬虫闯关的第一关 附一下网址: http://www.heibanke.com/lesson/crawler_ex00/ 自己手动的填了几个发现太多,填补过来。 只好巧妙地利用了python爬虫技术,百度了不少资料,最后终于成功了! 具体说一下步骤: 1.安装python 去官网下载即可。 2.安装selenium win键 + R 运行 cmd , 在cmd里...

Gao996的博客 3044

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 573

python闯关_Python 爬虫闯关(第一关)

不正经开场白在学习爬虫时,遇到了一个有意思的网站,这个网站设置了几个关卡,需要经过爬虫进行闯关,随着关卡的往后,难度不断增加,在闯关的过程中需要学习不同的知识,你的爬虫水平也自然随之提高,来跟我一起闯关吧!今天我们先来第一关,访问闯关地址,我们可以得到如下页面:是不是看着有点懵逼了,那就按照提示,我们把数字放到地址栏的后面,再次进行访问:经过多次手动填数字后,我们得到了这个页面:有一 dabo 数...

weixin_39595430的博客 766

【异常】Python环境中没有安装 `openpyxl` 模块提示ModuleNotFoundError: No module named ‘openpyxl‘

是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。只是示例版本号,你可以根据需要选择不同的版本。安装完成后,再次尝试运行你的程序,应该就不会再出现。,这表明你的Python环境中缺少。运行一个Python程序时遇到了。如果由于某些原因你无法直接使用。,你可以指定版本号来安装,这里。要解决这个问题,你需要安装。

奶爸的编程之路,也就一周冷个三天 3395

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

黑板客Python爬虫闯关 第一关 urllib简单通关

目录 题目 分析 代码 输出 题目 按指示将数字输入在末尾回车: 重复几次后,还是一样的界面,还老实告诉我这样的数字有几百个。 右键看一下网页源代码: <!DOCTYPE html> <html lang="zh-CN" > <meta name="viewport" content="width=device-width...

伊维泽诺流浪记 846

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

爬虫闯关 - 第一关

最近在学爬虫,发现一个好玩的网站:黑板客爬虫闯关,以闯关的形式考验你的技术能力,非常不错.现在把第一关实现.题目描述: 打开网址 http://www.heibanke.com/lesson/crawler_ex00/ ,可看到 然后在网址 lesson/crawler_ex00/后添加93147会出现另一个数字,显然,靠手动输入数字是不现实的,那我们用python去循环获取: 实

一路风景 1394

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python:黑板课爬虫闯关第一关

近日发现了【黑板课爬虫闯关】这个神奇的网页,练手爬虫非常的合适 地址:http://www.heibanke.com/lesson/crawler_ex00/ 第一关非常的简单 get 请求网址,在响应的 html 中用正则获取需要在网址后面输入的数字,生成新的url,继续请求,直到通关。 代码如下: import re import requests import time def ...

guliang21的专栏 87

python-GlidedSky爬虫闯关第一关

最近都在使用selenium就先使用着selenium来进行爬取 from selenium import webdriver name = '' pwd = '' num = [] x=1 s = 0 test = [] b = webdriver.Chrome() b.get('http://glidedsky.com/level/web/crawler-basic-1') user ...

Fread的博客 1682

Python3 黑板客爬虫闯关第一关

#coding=utf-8 import re import requests from requests.exceptions import RequestException from bs4 import BeautifulSoup def getHtml(url): try: headers = {'User-Agent': 'Mozilla/5.0 (Windo...

Python3 爬虫实战 1:应对特殊字体,爬取猫眼电影实时排行榜 2026

黑板客爬虫闯关第一关、第二关

上来先贴地址,刚入门的可以来van啊: 黑板客爬虫闯关 0x00 第一关 打开网址,看到如下页面: 先抱着试试看的心态在网址后面加上数字看看效果: 怕不是个循环,获取网页中的数字不断加到url中,验证猜想,继续试一试: ????? 那就把原来的数字换掉: 妙啊: 这里基本确定思路,获取网页内的数字,然后在将数字加入url进行循环提交 查看源码,...

weixin_34221073的博客 94

黑板课爬虫闯关第一关

之前也没有系统的学习过python,看其他源码的时候也是似懂非懂的看着理解意思。最近比较有空,就想更系统的学习一下,在知乎上看到大神推荐了一个Python爬虫闯关网站,便想试试。 下面是第一关的介绍,黑板课爬虫第一关。 点击进入网站以后,如下图所示: 做了一下尝试,先手动在网址后面输入数字14901,得到下面结果。 这个时候提示,要将数字改成63668, 可以理解

废柴奶萌兔的博客 2404

黑板客爬虫闯关 代码

简介: 原网址:黑板客爬虫闯关 提供给网友的一个学习爬虫的网站,关卡设计由易到难,到后面逐渐涉及模拟登陆,多线程等,让你掌握网络爬虫的基本技术。 第一关: 简单的在网址后面输入数字就可以,只不过你需要N++++个数字才能到达第二关的入口,每次跳转页面里都有下一个页面的跳转数字。所以这里需要用爬虫爬取出每个页面的跳转数字,直到没有跳转数字为止就是第二关的入口了。 代码: 1 #co...

weixin_30767921的博客 73

网络爬虫是什么?怎么学python爬虫

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。

Itmastergo的博客 3万+
上一篇: 你还在用 format 格式化字符串?
下一篇: Python 还可以这样创建「类」?
hoxis
博客等级 码龄16年 789粉丝 239原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值