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

Python房产爬虫嵌套调用函数返回url_soup空数组问题求助

问题原因及修复方案

导致url_soup为空的两个直接问题

  • 你定义了urL_soup_generator这个用来生成soup列表的函数,但从未调用执行过它,url_soup会一直保持初始的空列表状态,打印自然没有内容。
  • 就算调用了该函数也会报错:你给getdata传的参数是[i],这是一个包含url字符串的列表,但getdata要求接收的是单个字符串类型的url,requests的get方法无法接收列表作为请求地址。

对应修复代码

url_soup = []

def urL_soup_generator(links):
    for i in links:
        # 把参数[i]改为i,传入单个字符串格式的url
        temporary_link = getdata(i)
        url_soup.append(temporary_link)

# 新增函数调用代码,执行生成soup列表的逻辑
urL_soup_generator(urls)
print(url_soup)

后续提取字段的隐藏问题

你后续写的get_sqm、get_location等字段提取函数,循环时用的还是最开始的全局soup变量,不是你遍历到的每一页的soup对象,就算url_soup生成成功也只会重复提取第一页的内容,需要调整逻辑,示例如下:

# 以get_sqm为例,其余提取函数按相同逻辑修改即可
def get_sqm(soup_list):
    # 遍历soup列表中每一页的soup对象
    for page_soup in soup_list:
        for sqm in page_soup.find('ul', {'class': 'list-view real-estates'}).find_all('div', {'class': 'inline-group'}):
            sqm_value = sqm.get_text().split(',')[1].split()[0]
            sqm_area.append(sqm_value)
    return sqm_area

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:45:03