【问题标题】:How to get text from inside a <span class="className">TEXT I WANT</span> in Python如何在 Python 中从 <span class="className">TEXT I WANT</span> 中获取文本
【发布时间】:2016-03-18 17:25:35
【问题描述】:

如何根据下面的屏幕截图获取标题为21,427的文本。

我试过了,还是不行:

rating_count = soup.find("span", attrs={'class':'rating_count'})
print rating_count

这是输出

【问题讨论】:

  • FWIW,这里的人们更喜欢错误本身的文本而不是堆栈跟踪的屏幕截图。 :)
  • 知道了,以后会报错

标签: python web-scraping beautifulsoup urllib2


【解决方案1】:

这将完全符合您的要求。

from BeautifulSoup import BeautifulSoup

data='<span class="rating-count">TEXT I WANT</span>'
soup=BeautifulSoup(data)
t=soup.find('span',{'class':'rating-count'})
print t.text

已编辑:

根据您提供的代码。看起来因为没有定义标题,谷歌不会发送您正在寻找的信息。因此,BeautifulSoup 找不到跨度,因为它实际上并不存在。试试这个,它对我有用:

pkg = "com.mavdev.focusoutfacebook"
url = "https://play.google.com/store/apps/details?id=" + pkg
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
data = opener.open(url).read()

soup=BeautifulSoup(data)

t=soup.find('span',{'class':'rating-count'})
print t.text

结果:

>>> 
1,397

【讨论】:

  • 这个跨度是否在另一个跨度内有关系吗?我仍然有同样的问题:pastebin.com/FYKLANJK
  • 同理,span是否嵌套无关紧要。我检查了您的代码,您面临的问题是关于 urllib2 和标头,而不是 BeautifulSoup 本身。我编辑了我以前的帖子。希望它也适合您。
【解决方案2】:

您收到此错误是因为您错误地键入了 span 的类是什么。如果您仔细查看您发布的图片,它会显示 span 的类是 rating-count,而您在 BeautifulSoup 中输入了 rating_count。因此它会查找 rating_count,但没有找到,然后返回 NoneType

rating_count = soup.find("span",{'class':'rating-count'}).text
print rating_count

【讨论】:

  • 如果您注意到他发布的图片,他正在尝试通过appDict['rating_count'] = rating_count.text 来做同样的事情。由于rating_count 是一个 NoneType (通过他得到的异常),它会失败。
  • 他的课程输入错误,我编辑的帖子的第一行修复了它。他得到 NoneType 因为 'rating_count' 不是 span 类。这是收视率
  • 对不起,我没注意到。
  • @n1c9 仍然不适合我,这是我的完整代码:pastebin.com/FYKLANJK
【解决方案3】:

您是否尝试从页面中的多个容器中获取内容?你能在 DOM 中计算 span class: rating-count 并查看是否有其他元素使用相同的类名。这可能是因为其他一些具有相同类名的元素是 EMPTY。如果是这样,您可以执行 IF-ELSE 将“null”分配给您的属性。

【讨论】:

  • 这并没有提供问题的答案。一旦您有足够的声誉,您就可以对任何帖子发表评论;相反,提供不需要提问者澄清的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 2014-07-17
  • 2023-03-10
  • 2021-06-14
  • 2011-08-20
  • 1970-01-01
相关资源
最近更新 更多