Python 无法在“中刮取数据”;分区;《华尔街日报》网页上的类

Python 无法在“中刮取数据”;分区;《华尔街日报》网页上的类,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我试图从《华尔街日报》网站上的文章中提取文本内容。例如,考虑以下HTML源: <div class="article-content "> <p>BEIRUT— Carlos Ghosn, who is seeking to clear his name in Lebanon, would face a very different path to vindication here, where endemic corruptio

我试图从《华尔街日报》网站上的文章中提取文本内容。例如,考虑以下HTML源:

<div class="article-content ">
       <p>BEIRUT—
      Carlos Ghosn, 
       who is seeking to clear his name in Lebanon, would face a very different path to vindication here, where endemic corruption and the former auto executive’s widespread popularity could influence the outcome of a potential trial. </p> <p>Mr. Ghosn, the former chief of auto makers
这将返回一个空项。我看到了一些其他的帖子,有人提出了建议,但这些帖子在我的案例中并不起作用。计划在一些ML项目中使用略过的文本

我订阅了《华尔街日报》,并在运行上述脚本时登录


任何帮助都将不胜感激!谢谢

您的代码对我来说运行得很好。只需确保您正在搜索正确的“classid”。我不认为这会有什么不同,但您可以尝试将其作为替代方案:

item = html.find_all("div", class_ = classid)

你的代码对我很有效。只需确保您正在搜索正确的“classid”。我不认为这会有什么不同,但您可以尝试将其作为替代方案:

item = html.find_all("div", class_ = classid)

可以做的一件事是通过在控制台上使用javascript检查来确认元素的存在。很多时候都会有后台请求为页面提供服务。因此,您可能会在页面中看到元素。但这是对不同URL或脚本内部的请求的结果。

可以做的一件事是通过控制台上的javascript检查元素的存在。很多时候都会有后台请求为页面提供服务。因此,您可能会在页面中看到该元素。但它是对不同URL或脚本内部的请求的结果。

尝试使用
选择
并将解析器设置为“lxml”

content = [p.text for p in soup.select('.article-content p')]

尝试使用
选择
并将解析器设置为“lxml”

content = [p.text for p in soup.select('.article-content p')]

谢谢你,苏丹。只是在我这方面不起作用:html=BeautifulSoup(res.text,“lxml”)classid=“article content”#在最后一个t item=html之后有一个空格。find_all(“div”,class=classid)print(item)。输出为“[]”是否可以尝试classid=“article”并查看发生的情况??相同:(您可以分享代码和输出的屏幕截图吗?非常感谢您的帮助。谢谢Sultan。在我这方面根本不起作用:html=BeautifulSoup(res.text,“lxml”)classid=“article content”#最后一个t item=html后面有一个空格。find_all(“div”,class=classid)print(item)。输出是“[]”您能试试classid=“article”吗看看会发生什么??一样(您可以共享代码和输出的屏幕截图吗?非常感谢您的帮助。关闭浏览器中的javascript并重新加载页面。您想要的内容是否仍然存在?是,选中了呈现的页面和html源。关闭浏览器中的javascript并重新加载页面。您想要的内容是否仍然存在?是,选中了两个选项。)e呈现的页面和html源代码。谢谢。这就是发生的情况。我搜索了html的输出,但找不到标记,因此正在动态生成。关于如何继续,有什么想法吗?@user6027414我没有订阅WSJ。因此我无法检查。但是,您可以尝试搜索('script')…如果文章是由脚本生成的..它将显示..那么你需要使用json.loads。如果你觉得答案有帮助,请接受它。谢谢。这就是发生的事情。我搜索了html的输出,但找不到标记,所以它是动态生成的。你有什么想法吗?@user6027414我没有订阅WSJo我无法检查..但是,您可以尝试搜索('script')…如果文章是由脚本生成的..它将显示..然后您需要使用json.loads。如果您觉得答案有帮助,请接受它。