18910140161

Python-使用BeautifulSoup的HTML文件中缺少元素-堆栈溢出

顺晟科技

2022-10-18 12:52:07

74

我对网络搜集世界很陌生,我正试图从一个网站上搜集鞋子的名字。当我在网站上使用Inspect时,有一个DIV标签,里面基本上包含了整个网页,但当我打印出HTML代码时,DIV标签完全是空的!这是我现在的代码:

from bs4 import BeautifulSoup
import requests
import time

def findShoeNames():
   html_file = requests.get('https://www.goat.com/sneakers/brand/air-jordan').text
   soup = BeautifulSoup(html_file, 'lxml')
   print(soup)
 
if __name__ == "__main__":
   findShoeNames()

当我调用函数并打印(soup)时,DIV标签如下所示:

<div id="root"></div>

但正如前面提到的,当我在网站上点击检查时,这个DIV标签基本上包含了整个网页。所以我无法从网站上获取任何数据。

请帮助!谢了


顺晟科技:

网站使用JS加载。所以你应该使用Selenium和Chromedriver.安装Selenium从这里安装Chromedriver(解压缩并复制您的Python文件夹)

import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = "https://www.goat.com/sneakers/brand/air-jordan"
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)
time.sleep(1)
page = driver.page_source
driver.quit()
soup = BeautifulSoup(page, 'lxml')

print(soup.prettify)
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航