python - 我可以抓取网站以识别其下的标题和文本吗?
解决方案
您应该使用 python and BeautifulSoup
,这是一个为网络抓取而设计的库。
request
对于给定的 url,您可以使用以下方式提取页面的实际内容:
import requests
from bs4 import BeautifulSoup
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
获得对象汤后,您可以通过以下方式找到所有标题:
headings = list()
for i in range(1, 7):
# <h1> to <h6>
headings.extend(soup.findAll(f'h{i}'))
headings
现在包含从 h1 到 h6 的所有标题。现在要提取文本,您只需执行以下操作:
text_content = soup.text
推荐阅读
- java - 'R' 在默认包中 android 错误
- c# - ASP.NET OWIN 中间件 - 修改 HTTP 响应
- unity3d - Blender → Unity:得到错误的边缘/边界?
- javascript - 如果用户单击已停用的选项,则返回选项文本
- php - ACF Wordpress 中的可排序管理行 - (按字母顺序排序)
- excel - 将表格从 excel 粘贴到 Word,然后适合窗口并均匀分布列
- reactjs - 如何修复类型不可分配给 LibraryManagedAttributes 以进行反应路由器渲染道具
- python-3.x - 如何在默认会话中运行 tensorflow 会话?
- javascript - 将 HTML 模态转换为 pdf
- ios - xcodebuild - 更改 xctestrun 输出文件名的名称