关于requests库无法获取网页的问题?
想获取一个物流公司的特定单号的物流信息。
通过requests库" title="requests库">requests库获取的信息与右键查询的网页代码差别非常大
import reuqestsurl='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是订单号码
初学者,想了解为什么会出现这个情况
回答:
我看了下你的代码中url部分
从这个网页的 HTML 代码来看,它包含了一些 JavaScript 的引用,这些 JavaScript 文件中可能包含动态生成网页的代码。
因此使用模拟行为模拟用户打开浏览器网页的过程,就可以成功获取到网页中动态加载的物流信息。
import timefrom 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()
以上是 关于requests库无法获取网页的问题? 的全部内容, 来源链接: utcz.com/p/938921.html