request请求一个页面在配置过header之后还是失败

发现一个页面用常规的配置header里面的host,U-A后,依旧不能获取页面数据.

通过调试工具检查过发送的get命令,并没有差异。
实在找不到原因,难道是我缺少那部分的知识。
求助各位大佬

地址如下:
目标采集页面

import requests

url_Header = {'Host': 'www.realestate.com.au',
              'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0'}
url_tar = "https://www.realestate.com.au/property/unit-5-29-stephenson-st-pialba-qld-4655"

r = requests.get(url_tar,headers=url_Header)

if r.status_code == 200:
    print(r.text)
else:
    print(r.status_code)

我这边采集到的错误结果如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="shortcut icon" href="about:blank">
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
    <script src="https://resources.kasadapolyform.io/kpfp.js"></script>
    <script src="/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fingerprint/script/kpf.js?url=/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fingerprint&token=iqyvb0Jj-vnBK-gLSc-eYbn-qSQoY37FIfzn"></script>
</head>
<body>
</body>
</html>

请教是哪种情况我没考虑到吗?
无需考虑其他xhr内容,仅需要Get Hmtl高亮这条命令的内容。
只是不知道为什么不能request到同样的内容。
仅需要的Get到html的内容

阅读 4.1k
1 个回答

商业网站怎么可能不防爬,这个是动态加载的,信息都分块动态加载啦,你F12捉一下xhr的包看一下,我就看到了几个包对应着school啊,Property timeline for 5/29 Stephenson Street啊,Similar homes in Pialba的信息,都是json数据看着辣眼,丢到排版器排一下看看吧

图片描述

如果你只想要那个包的话就带上cookie去请求,几得把cookie转成字典再丢过去,实测成功

import requests
cookie = '*********************'
url = 'https://www.realestate.com.au/property/unit-5-29-stephenson-st-pialba-qld-4655'
headers = {'referer': 'https://www.realestate.com.au/property/unit-5-29-stephenson-st-pialba-qld-4655',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}

def trans_cookie(cookie):
    items =cookie.split(';')
    item_dict = {}
    for item in items:
        key = item.split('=')[0].replace(' ', '')
        value = item.split('=')[1]
        item_dict[key] = value
    print(item_dict)
    return item_dict


cookies = trans_cookie(cookie)





r = requests.get(url,cookies=cookies,headers=headers)
with open('gg.txt','w',encoding='utf-8') as f:
    f.write(r.text)

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题