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

使用requests获取腾讯房产网页内容失败,求技术解决方案

解决requests获取网页内容失败的问题

看了你的代码,我发现几个关键问题导致获取的内容不符合预期,下面一步步帮你排查修复:

1. 修正URL的两个核心错误

你的原URL存在两个明显问题:

  • 协议不匹配:目标网站实际使用https,但你写的是http,会触发不必要的重定向,甚至被服务器拦截返回异常内容
  • 转义字符未处理:URL里的&是HTML转义字符,浏览器会自动解析,但requests不会识别,必须替换成普通的&才能正确定位到目标接口

修正后的URL:

url = 'https://db.house.qq.com/index.php?mod=search&city=bj'

2. 精简冗余的Headers字段

你手动设置了很多requests会自动处理的字段(比如authority、method、path、scheme),这些字段手动配置反而可能和实际请求不匹配,导致服务器返回非预期页面。只保留必要的标识类Headers即可:

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9,zh-HK;q=0.8,zh;q=0.7,zh-CN;q=0.6,an;q=0.5',
    'dnt': '1'
}

3. 替换过期的Cookie

你提供的Cookie是2020年的(从Hm_lvt_xxx的时间戳可以判断),早就失效了。服务器不会认可过期的Cookie,自然会返回未登录或非目标页面的内容。建议使用requests.Session()自动管理会话和Cookie,无需手动复制旧Cookie:

session = requests.Session()
res = session.get(url, headers=headers)

完整修正后的代码

import requests
from bs4 import BeautifulSoup

url = 'https://db.house.qq.com/index.php?mod=search&city=bj'

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9,zh-HK;q=0.8,zh;q=0.7,zh-CN;q=0.6,an;q=0.5',
    'dnt': '1'
}

session = requests.Session()
res = session.get(url, headers=headers)
res.encoding = res.apparent_encoding

soup = BeautifulSoup(res.text, 'html.parser')
result_num = soup.find('em', {'id':'search_result_num'})
if result_num:
    print(f"搜索结果数量:{result_num.text}")
else:
    print("未找到结果数量元素,可能页面结构更新或触发反爬机制")

print('三湘印象·森林海尚城' in res.text)

额外应对建议

如果运行后还是无法获取正确内容,可能触发了网站的反爬机制,可以尝试:

  • 添加原代码中的accept头信息
  • 在请求前添加短暂延迟(比如import time; time.sleep(2))
  • 检查目标页面结构是否更新(比如search_result_num这个ID是否仍存在)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:38:45