如何使用Python抓取段落?
先决条件:使用 BeautifulSoup 在Python中实现 Web Scraping
在本文中,我们将了解如何使用Python从给定的 HTML 文档或 URL 中提取所有段落。
所需模块:
- bs4: Beautiful Soup(bs4) 是一个Python库,用于从 HTML 和 XML 文件中提取数据。这个模块没有内置于Python中。要安装此类型,请在终端中输入以下命令。
pip install bs4
- 请求:请求允许您非常轻松地发送 HTTP/1.1 请求。这个模块也没有内置于Python中。要安装此类型,请在终端中输入以下命令。
pip install requests
方法:
- 导入模块
- 创建一个 HTML 文档并在代码中指定 '
' 标签
- 将 HTML 文档传递给 Beautifulsoup()函数
- 使用“P”标签从 Beautifulsoup 对象中提取段落
- 使用 get_text() 从 HTML 文档中获取文本。
代码:
Python3
# import module
from bs4 import BeautifulSoup
# Html doc
html_doc = """
Geeks
paragraphs
Welcome geeks.
Hello geeks.
"""
soup = BeautifulSoup(html_doc, 'html.parser')
# traverse paragraphs from soup
for data in soup.find_all("p"):
print(data.get_text())
Python3
# import module
import requests
import pandas as pd
from bs4 import BeautifulSoup
# link for extract html data
def getdata(url):
r = requests.get(url)
return r.text
htmldata = getdata("https://www.geeksforgeeks.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
data = ''
for data in soup.find_all("p"):
print(data.get_text())
输出:
Welcome geeks.
Hello geeks.
现在让我们从给定的 URL 中提取段落。
代码:
蟒蛇3
# import module
import requests
import pandas as pd
from bs4 import BeautifulSoup
# link for extract html data
def getdata(url):
r = requests.get(url)
return r.text
htmldata = getdata("https://www.geeksforgeeks.org/")
soup = BeautifulSoup(htmldata, 'html.parser')
data = ''
for data in soup.find_all("p"):
print(data.get_text())
输出: