【问题标题】:Beautiful Soup find nested div美丽的汤找到嵌套的div
【发布时间】:2019-04-21 04:57:29
【问题描述】:

我正在尝试使用 Python->Beautiful Soup 解析一个看起来像这样的网页

see image

我需要来自

的数据

<div class="p-offer__price-new">199,99 ₽</div>

我试过这段代码:

soup = BeautifulSoup(data)
res = soup.findAll("div", {"class": "poffer__price-new"})
print(res)

但结果为空 -- []

如何获取这些数据? 网址示例:https://edadeal.ru/moskva/offers/d71b75ff-bfee-4731-95ad-52a24ddea72e?from=%2F

【问题讨论】:

  • poffer 与p-offer 不同
  • 谢谢,但 p-offer__price-new 并没有改变结果
  • 在运行解析器时这个 dom 元素是否可用?不是由某个 js 插件每次注入?
  • 在禁用 JavaScript 时尝试访问该网站,如果您仍然找到所需的内容,则意味着您可以通过requests完成它
  • 动态页面,使用 selenium 或从 API 请求中提取

标签: python parsing beautifulsoup


【解决方案1】:
import bs4
from selenium import webdriver 

driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')
driver.get('https://edadeal.ru/moskva/offers/d71b75ff-bfee-4731-95ad-52a24ddea72e?from=%2F')

html = driver.page_source

soup = bs4.BeautifulSoup(html,'html.parser')
res = soup.findAll("div", {"class": "p-offer__price-new"})   
print (res[0].text)  

driver.close()

【讨论】:

    猜你喜欢
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 2016-12-18
    • 2018-03-12
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多