📜  如何从网站中提取段落并将其保存为文本文件?

📅  最后修改于: 2022-05-13 01:55:39.103000             🧑  作者: Mango

如何从网站中提取段落并将其保存为文本文件?

待遇:

  • 美丽的汤
  • 网址

抓取是一项必不可少的技术,可帮助我们从 URL 或 html 文件中检索可以以其他方式使用的有用数据。给定的文章展示了如何从 URL 中提取段落并将其保存为文本文件。

需要的模块

bs4: Beautiful Soup(bs4) 是一个Python库,用于从 HTML 和 XML 文件中获取数据。它可以安装如下:

pip install bs4

urllib: urllib 是一个包,它收集了几个用于处理 URL 的模块。它也可以以相同的方式安装,它大部分是内置在环境本身中的。

pip install urllib

方法:

  • 创建一个文本文件。
  • 现在对于程序,导入所需的模块并传递 URL 和 **.txt 文件路径。这将在您的本地机器上复制该 URL 的 html 代码。
  • 制作请求实例并传入 URL
  • 以读取模式打开文件并传递所需的参数
  • 将请求传递给 Beautifulsoup()函数。
  • 创建另一个文件(或者您也可以在现有文件中写入/附加)。
  • 然后我们可以迭代,找到所有的“p”标签,并在我们的文本文件中打印每个段落。

实现如下:

例子:

Python3
import urllib.request
from bs4 import BeautifulSoup
  
# here we have to pass url and path
# (where you want to save ur text file)
urllib.request.urlretrieve("https://www.geeksforgeeks.org/grep-command-in-unixlinux/?ref=leftbar-rightbar",
                           "/home/gpt/PycharmProjects/pythonProject1/test/text_file.txt")
  
file = open("text_file.txt", "r")
contents = file.read()
soup = BeautifulSoup(contents, 'html.parser')
  
f = open("test1.txt", "w")
  
# traverse paragraphs from soup
for data in soup.find_all("p"):
    sum = data.get_text()
    f.writelines(sum)
  
f.close()


输出: