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

网页爬虫分页异常:爬取结果数量与预期不符问题排查

问题分析与修复方案

核心问题点

  1. 分页范围错误:你写的range(6,11)只遍历第6到10页(共5页),不是预期的1-10页,直接少了一半的页面来源。
  2. 房源链接提取不全:case = soup.find_all('table', class_='list')返回的是整个列表的容器table,循环这个容器后只调用fix.find('a')——这只会拿到该table里的第一个房源链接,而非所有房源。
  3. 详情页数据重复写入:aa = soup.find_all('div', class_='box')会返回多个box元素,循环时每次都用aa[0].text判断,还重复添加同一个URL和Təmiri值,最后drop_duplicates删掉重复项,导致有效数据进一步减少。
  4. IO操作效率低下:每次循环都生成DataFrame并写入Excel,既拖慢速度也没必要。

修复后的代码

import requests
from bs4 import BeautifulSoup as bs
import pandas as pd

# 基础分页URL
URL = 'https://yeniemlak.az/elan/axtar?emlak=1&elan_nov=1&seher%5B%5D=0&metro%5B%5D=0&qiymet=&qiymet2=&mertebe=&mertebe2=&otaq=&otaq2=&sahe_m=&sahe_m2=&sahe_s=&sahe_s2=&page='
base_url = 'https://yeniemlak.az/'

urla = []
featuress = []

# 遍历1-10页,对应range(1,11)
for page in range(1, 11):
    # 请求列表页
    list_response = requests.get(URL + str(page))
    list_soup = bs(list_response.text, 'html.parser')
    
    # 获取列表页中所有房源的链接(直接定位table.list内的所有a标签)
    house_links = list_soup.select('table.list a')
    
    for link in house_links:
        # 拼接完整详情页URL
        detail_url = base_url + link['href']
        # 请求详情页
        detail_response = requests.get(detail_url)
        detail_soup = bs(detail_response.text, 'html.parser')
        
        # 获取详情页的box内容,取第一个即可(仅需判断是否包含Təmirli)
        box_content = detail_soup.find('div', class_='box').text
        # 判断维修状态
        temiri = 1 if 'Təmirli' in box_content else 0
        
        # 添加数据到列表
        urla.append(detail_url)
        featuress.append(temiri)

# 所有数据收集完成后,生成DataFrame并去重、保存
df = pd.DataFrame({'URL': urla, 'Təmiri': featuress})
df = df.drop_duplicates()
df.to_excel('yeniemlak_data.xlsx', index=False)

关键优化说明

  • 修正分页范围:改用range(1,11)遍历1到10页,覆盖预期的所有页面。
  • 正确提取所有房源链接:使用select('table.list a')直接拿到列表页内所有房源的a标签,确保不遗漏任何房源。
  • 避免重复写入详情页数据:仅获取详情页的第一个box元素进行判断,无需循环所有box,减少无效重复数据。
  • 优化IO操作:仅在所有数据收集完成后,一次性生成DataFrame并写入Excel,提升运行效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:15:38