BeautifulSoup输出保持[]

时间:2016-03-16 11:21:40

标签: python import beautifulsoup python-requests bs4

我正在尝试使用BeautifulSoup + python请求从网站上删除文本。但它只是将[]作为输出。

from bs4 import BeautifulSoup
import requests

url = "http://nos.nl/artikel/2093082-steeds-meer-nekklachten-bij-kinderen-door-gebruik-tablets.html"
r  = requests.get(url)

soup = BeautifulSoup(r.content)

data = soup.find_all("div", {"class": "article_title"})

print data

输出:

[]

我试过了;

> data = soup.find_all("div", {"class": "article_title"}
> data = soup.find_all("div", class_="article_title") data =
> data = soup.find_all("div", class_="article")

我做错了什么?

2 个答案:

答案 0 :(得分:1)

有两个问题:

  • 网站上使用的代码为h1,而不是div
  • 班级名称为article__title两个下划线!)。

所以你想要的是:

data = soup.find_all("h1", {"class": "article__title"})

这给了我们:

[<h1 class="article__title">Steeds meer nekklachten bij kinderen door gebruik tablets</h1>]

顺便说一句,我使用我的Firefox网络检查器快速获取此信息;-) Chrome,Internet Explorer,Safari以及我所知道的所有其他内置类似工具的浏览器。我强烈建议你学会至少使用它们的基础知识,因为它会让你的生活变得更加轻松!

答案 1 :(得分:0)

第一个问题是the website中没有article_title标记。如果您使用article__title(两个下划线),它将返回一些内容,因为这是一个标记。查看html源代码,看看实际存在哪些标签!