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

Python数组添加链接后遍历访问异常:代码问题求助

搞定这个链接访问问题的方法啦!

你遇到的问题其实很明确:x.absolute_links返回的不是单个字符串链接,而是一个**集合(set)**类型的数据。你直接把这个集合塞进links数组里,后面遍历的时候传给HTMLSession().get()的是集合对象,而这个方法只认字符串格式的URL,所以肯定没法正常工作啦。

具体怎么改?

  • 从absolute_links这个集合里把真正的URL字符串取出来——每个.index-episode-caption元素应该只对应一个链接,所以我们只要拿集合里的那个唯一元素就行
  • 把字符串形式的URL添加到links数组,而不是集合本身

改好的完整代码:

import requests
from requests_html import HTMLSession
import sys

links = []
base_link = "http://tvil.me"
pagedata = HTMLSession().get(base_link)
info = pagedata.html.find('#page-right', first=True)
sidra = info.find(".index-episode-caption")

for x in sidra:
    # 从集合里提取唯一的URL字符串
    # 用next(iter(...))来获取集合里的第一个(也是唯一一个)元素
    episode_link = next(iter(x.absolute_links))
    links.append(episode_link)

for i in links:
    print(i)
    # 现在可以正常访问链接啦
    page = HTMLSession().get(i)
    # 接下来就可以处理你的xpath逻辑了
    # print(page.xpath("..."))

额外提醒:

要是担心某些元素可能没有链接(也就是absolute_links是空集合),可以加个判断避免报错:

if x.absolute_links:
    episode_link = next(iter(x.absolute_links))
    links.append(episode_link)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:40:32