BeautifulSoup 输出保持 []
BeautifulSoup output stays []
我正在尝试从具有 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")
我做错了什么?
有两个问题:
- 网站上使用的标签是
h1
,而不是 div
。
- class 名称是
article__title
(即 两个 下划线!)。
所以你想要的是:
data = soup.find_all("h1", {"class": "article__title"})
这给了我们:
[<h1 class="article__title">Steeds meer nekklachten bij kinderen door gebruik tablets</h1>]
顺便说一下,我使用我的 Firefox Web 检查器快速获取此信息;-) Chrome、Internet Explorer、Safari 和我知道的所有其他浏览器都内置了类似的工具。我强烈建议您至少学会使用它们的基础知识,因为它会让您的生活变得更加轻松!
第一个问题是 the website 中没有 article_title
标签。如果你使用 article__title
(两个下划线)它会 return 一些东西,因为那是一个标签。查看 html 源代码以查看实际存在的标签!
我正在尝试从具有 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")
我做错了什么?
有两个问题:
- 网站上使用的标签是
h1
,而不是div
。 - class 名称是
article__title
(即 两个 下划线!)。
所以你想要的是:
data = soup.find_all("h1", {"class": "article__title"})
这给了我们:
[<h1 class="article__title">Steeds meer nekklachten bij kinderen door gebruik tablets</h1>]
顺便说一下,我使用我的 Firefox Web 检查器快速获取此信息;-) Chrome、Internet Explorer、Safari 和我知道的所有其他浏览器都内置了类似的工具。我强烈建议您至少学会使用它们的基础知识,因为它会让您的生活变得更加轻松!
第一个问题是 the website 中没有 article_title
标签。如果你使用 article__title
(两个下划线)它会 return 一些东西,因为那是一个标签。查看 html 源代码以查看实际存在的标签!