如何从一篇文章中获取所有段落而不是一个段落?

约翰尼·银手

初学者在这里。

我刚刚开始学习 Python,我正在学习网页抓取,我想抓取每个段落,然后将它们写在文本文件或 csv 上。每个段落都有相同的标签名称,所以我认为 for 循环会遍历该名称的每个标签并从每个标签和中提琴中获取文本!...除了它只显示第一段 15+ 次......我假设它这样做的原因是因为它像我告诉它的那样抓取第一个标签,并为与它同名的许多其他标签打印相同的标签。我试图用 .find_all 替换 .find 但我得到一个属性错误.. 如何获取所有段落而不是一个?

文章:https : //www.huffpost.com/entry/angry-squirrel-attacks-queens_n_5fee30b1c5b6ec8ae0b242d2

from bs4 import BeautifulSoup
import requests
import csv

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
    }


url = "https://www.huffpost.com/entry/angry-squirrel-attacks-queens_n_5fee30b1c5b6ec8ae0b242d2"

response = requests.get(url, headers=headers).text

soup = BeautifulSoup(response, 'lxml')

article = soup.find('article')

headline = article.header.h1.text
print(headline)

headline_Sub = article.find('div', class_="headline__subtitle").text
print(headline_Sub)

print('')

for summaries in article.find('div', class_="entry__text js-entry-text yr-entry-text"):
    p = article.find('div', class_='content-list-component yr-content-list-text text').p.text
    print(p)

使用 find_all 的 for 循环会返回错误:

回溯(最近一次调用):文件“C:\Users\Denze\MyPythonScripts\Webscraping learning\Webscrape article.py”,第 27 行,在 p = article.find_all('div', class_='content-list-component yr-content-list-text text').p.text 文件“C:\Users\Denze\AppData\Local\Programs\Python\Python39\lib\site-packages\bs4\element.py”,第 2173 行,在getattr raise AttributeError( AttributeError: ResultSet object has no attribute 'p'。您可能将元素列表视为单个元素。当您打算调用 find() 时,您是否调用了 find_all()?

狮子座

我正在使用 select 方法来获取所有段落元素。看看这段代码:

from bs4 import BeautifulSoup
import requests
import csv

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
    }


url = "https://www.huffpost.com/entry/angry-squirrel-attacks-queens_n_5fee30b1c5b6ec8ae0b242d2"

response = requests.get(url, headers=headers).text

soup = BeautifulSoup(response, 'lxml')

h1=soup.find('h1')
article = soup.select('p')


print(h1.text+'\n')
for i in article:
  print(i.text)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

只选择作者的最后一篇文章

如何在静态页面中显示最后一篇文章的标题?

链接到Blogdown中的另一篇文章

跳过上一篇文章时如何忽略jekyll中的偏移

显示wordpress的第一篇文章

如何在wp_query循环中获取下一篇文章的类别

如何修复上一篇文章缩略图中的“尝试获取非对象的属性”通知

为什么get_posts函数显示除一篇文章以外的所有文章?

下一个上一篇文章在WordPress中

获取Instagram用户的第一篇文章

如何通过API将多张图片上传到Facebook中的一篇文章

Joomla显示内容的另一篇文章

将所有段落合并为一个段落

如何从joomla 3中的一篇文章中取消发布社交媒体图标?

共同作者加上Wordpress插件-列出同一篇文章的所有作者

用laravel记录一篇文章的浏览次数?

Rails App中的上一篇文章

删除第一篇文章并在PHP中显示第二篇文章

Table 使用 yajra/laravel-datatables 为一篇文章带来所有评论

PHP - Wordpress 上一篇文章链接显示在最后一篇文章中

如何在 ruby on rails 中显示每个用户的最后一篇文章?

在MATLAB中复制一篇文章的图

在 Wordpress 循环中的第一篇文章后添加一个 div

如何滚动到具有相同类的下一篇文章 ON SCROLL

Wordpress 只显示一篇文章

渲染另一篇文章的引用

Meteor - 发布所有作者且仅发布最后一篇文章的最佳方法

如何只编辑一篇文章而不是迭代循环所有文章?

给定一篇文章的 DOI,如何使用 python 获取域名?