【发布时间】:2021-11-16 10:27:33
【问题描述】:
我对网络抓取世界非常陌生,我正在尝试从网站上抓取鞋子的名称。当我在网站上使用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()
当我调用我的函数并打印(汤)时,div 标签看起来像这样:
<div id="root"></div>
但如前所述,当我在网站上点击检查时,这个 div 标签基本上包含了整个网页。所以我无法从网站上抓取任何数据。
请帮忙!谢谢
【问题讨论】:
-
网址是什么?该页面可能是动态加载的
-
goat.com/sneakers/brand/air-jordan - 这是否意味着我需要使用硒? @MendelG
-
数据来自 API POST 请求到
https://2fwotdvm2o-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=Algolia%20for%20JavaScript%20(3.35.1)%3B%20Browser%20(lite)%3B%20JS%20Helper%20(3.2.2)%3B%20react%20(16.13.1)%3B%20react-instantsearch%20(6.8.2)&x-algolia-application-id=2FWOTDVM2O&x-algolia-api-key=ac96de6fef0e02bb95d433d8d5c7038a
标签: python html beautifulsoup