You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选限定BeautifulSoup抓取结果以获取目标图书封面图片链接

代码修改方案

核心逻辑很简单:你现在的写法是边找链接边打印,没法对所有找到的链接统一做筛选,只要先把所有匹配到的链接都存到同一个普通列表里,再统一取最后2个打印即可。

修改后的完整代码如下:

import requests
from bs4 import BeautifulSoup

# 这里替换成你要爬取的对应页面url
url = "http://coleccaoargonauta.blogspot.com/2011/09/n-2-o-estranho-mundo-de-kilsona.html"

r=requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')

# 保留原有逻辑:选择前2个separator类div
separador = soup.select("div.separator")[:2]

# 获取页面标题
titulo = soup.find_all("h3", {"class": "post-title entry-title"})[0]
m = titulo.string
print(m, "\n")

# 初始化空列表,统一存储所有找到的图片链接
todos_links = []

# 遍历前2个separator div,收集所有链接到统一列表
for div in separador:
    imagens = div.find_all('a')
    for link in imagens:
        todos_links.append(link['href'])

# [-2:]是Python列表切片语法:从倒数第二个元素开始取到列表末尾,刚好是最后2个链接
for link in todos_links[-2:]:
    print(link, "\n")

修改说明

  • 新增了空列表todos_links,把你从两个separator div里找到的所有链接都先放到这个列表里,不管每个div里有几个链接,最终都会变成一个普通的一维列表,直接支持切片操作
  • 如果你后续要调用wget下载,直接遍历todos_links[-2:]这个结果就能拿到需要的下载地址

内容的提问来源于stack exchange,提问作者Nuno Rodrigues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:36:03