如何从网站中提取段落并将其保存为文本文件?
待遇:
- 美丽的汤
- 网址
抓取是一项必不可少的技术,可帮助我们从 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()
输出: