关于requests库无法获取网页的问题?

新手上路,请多包涵

想获取一个物流公司的特定单号的物流信息。
通过requests库获取的信息与右键查询的网页代码差别非常大

import reuqests

url='http://qqb3c.cn/webapp/orderDetail.html?orderNumber=D89F3A35931C386956C1A402A8E09941@11339833&openid='

header={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58'
}
r=requests.get(url,headers=header)
r=r.content.decode('utf-8')

11339833是订单号码
初学者,想了解为什么会出现这个情况

阅读 2k
1 个回答

我看了下你的代码中url部分
图片.png

从这个网页的 HTML 代码来看,它包含了一些 JavaScript 的引用,这些 JavaScript 文件中可能包含动态生成网页的代码。
因此使用模拟行为模拟用户打开浏览器网页的过程,就可以成功获取到网页中动态加载的物流信息。

import time
from selenium import webdriver

# 创建浏览器实例
driver = webdriver.Chrome()

# 打开页面
url = "http://qqb3c.cn/webapp/orderDetail.html?orderNumber=D89F3A35931C386956C1A402A8E09941@11339833&openid="
driver.get(url)

# 等待页面加载完成
time.sleep(5)

# 获取物流信息
logistics_info = driver.find_element_by_id('logisticsInfo').text

# 打印物流信息
print(logistics_info)

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