gpt4 book ai didi

python - 为什么一个网站的 HTML 和 Python 的请求库给的 HTML 不一样?

转载 作者:行者123 更新时间:2023-11-28 02:37:42 24 4
gpt4 key购买 nike

我试图让自己熟悉请求和 BeautifulSoup,所以我给了自己一个小项目。我正在尝试制作一个程序,在 Footlocker 的发布日历上显示鞋子( https://www.footlocker.com/release-dates/ ) 像这样:

  • 鞋名#1 日期#1
  • 鞋名#2 日期#2
  • 鞋名#3 日期#3
  • 鞋名#4 日期#4

到目前为止我有这个:

import requests as req
from bs4 import BeautifulSoup

def main():
url = "https://www.footlocker.com/release-dates/"
resp = req.get(url)

soup = BeautifulSoup(resp.content, "html.parser")
print(soup)

但是,当我加载 HTML 以使用 BeautifulSoup 解析时,包含鞋子日期和名称信息的 HTML 代码不会像我直接在网站上使用 inspect 元素时那样出现。我认为这是因为带有鞋子信息的 HTML 是由 Javascript 生成的。如果是这样,我如何用请求加载它?

谢谢。

最佳答案

如果您的机器上安装了 selenium,没关系,安装它。这是你的方式。

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
driver.get("https://www.footlocker.com/release-dates/")
soup = BeautifulSoup(driver.page_source, "lxml")
driver.quit()
for item in soup.select(".day"):
shoe = item.select_one(".productName").get_text()
date = item.select_one(".date").get_text()
print(shoe,date)

部分结果:

Jordan Retro 1 HI OG 1Aug
Kids' Jordan Retro 1 HI OG 1Aug
Jordan Retro 1 HI OG 1Aug
Kids' Jordan Retro 1 HI OG 1Aug
Nike Kobe A.D. NXT 1Aug
Nike Dualtone Racer 1Aug

关于python - 为什么一个网站的 HTML 和 Python 的请求库给的 HTML 不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46145086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com