【发布时间】:2020-04-21 19:09:13
【问题描述】:
我在从页面中抓取某些元素时遇到问题: https://tuning-tec.com/mercedes_w164_ml_mklasa_0507_black_led_seq_lpmed0-5789i
代码:
import requests
from bs4 import BeautifulSoup
URL="https://tuning-tec.com/mercedes_w164_ml_mklasa_0507_black_led_seq_lpmed0-5789i"
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
title=soup.find(class_="product_cart_title").text
price=soup.find(class_="icon_main_block_price_a")
number=soup.find(class_="product_cart_info").findAll('tr')[1].findAll('td')[1]
description=soup.find(id="tab_a")
print(description)
问题是我什么时候想去:tab_a
这是一个内部问题
<div align="left" class="product_cart_info" id="charlong_id">
</div>
为空。我怎样才能得到它? 我认为它是关于 js 的。页面加载时可能有一些延迟?
【问题讨论】:
-
此页面使用 JavaScript 向页面添加元素,因此 requests/Beautifusoup 是有用的,因为它们无法运行 JavaScript - 您可能需要 Selenium 来控制运行 JavaScript 的 Web 浏览器。或者您可以尝试在 Firefox/Crhome 中使用
DevTools来查找 JavaScript 用于从服务器获取这些元素的 url - 然后您可以将此 url 用于请求。
标签: python beautifulsoup screen-scraping