【问题标题】:Beautiful Soup not finding Div美丽的汤没有找到 Div
【发布时间】:2015-06-05 20:40:01
【问题描述】:

我正在尝试从此页面获取我正在处理的项目的产品: Belk.com

我最初尝试使用非常具体的

soup.find("ul", {"class" : "product_results"})

什么都没有发生,所以我非常广泛地开始搜索所有 div。

contentDiv = soup.find_all("div")
for div in contentDiv:
    print(div.get("class"))

当我这样做时,我只得到页面上半部分的 Div,这让我相信有一个我没有进入的 iframe,但仔细检查后我找不到该框架。对此有什么想法吗?

【问题讨论】:

  • 它很可能是用 JavaScript 加载的,虽然我不能在不访问该页面的情况下确定。尝试在浏览器中禁用 JavaScript 并刷新页面。执行此操作后检查源并查找<div>。如果它丢失,JavaScript 是罪魁祸首,你将不得不使用其他东西来查找元素;也许是硒。

标签: python beautifulsoup


【解决方案1】:

这对我有用

import httplib2
from bs4 import BeautifulSoup

http = httplib2.Http()
status, response = http.request('http://www.belk.com/AST/Main/Belk_Primary/Women/Shop/Accessories.jsp')

soup = BeautifulSoup(response)

res = soup.find('ul',{"class":"product_results"})
lis = res.findAll('li')
for j in lis:
    #your code
    pass

【讨论】:

  • 感谢您的成功。我从文本文档中提取文件,忘记删除最后的新行,这是通过页面请求关闭的。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-04-21
  • 1970-01-01
  • 2016-12-18
  • 1970-01-01
  • 2020-08-17
  • 2017-12-05
  • 1970-01-01
  • 2020-12-31
相关资源
最近更新 更多