我正在尝试使用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")
我做错了什么?
答案 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源代码,看看实际存在哪些标签!