爬虫-BeautifulSoup
难度:⭐⭐
1. 题目描述
题目描述
使用 requests
库爬取当前页面内容,然后使用 BeautifulSoup
解析出文章标题和左侧菜单信息
2. 关键点
- BeautifulSoup 的使用;运行
pip install beautifulsoup4
进行安装 - 文档地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/index.html
3. 代码实现
点击显示代码
python
import requests
from bs4 import BeautifulSoup
def get_article_info(url):
# 获取整个页面 html 内容
r = requests.get(url)
html = r.text
soup = BeautifulSoup(html)
# 获取页面标题
title = soup.title.string
# 获取左侧菜单 html 内容
menu_html = soup.find('ul', class_='list-group list-group-flush')
# 从左侧菜单 html 内容中获取所有菜单信息
menu_info = [(a['href'], a.string) for a in menu_html.find_all('a')]
return title, menu_info
if __name__ == '__main__':
url = 'https://python-abc.xyz/basic/5642/'
title, menu_info = get_article_info(url)
print('文章标题为:', title)
print('菜单列表如下:')
for menu in menu_info:
print('链接:https://python-abc.xyz{};标题:{}'.format(*menu))
4. 运行示例
txt
文章标题为: 19-爬虫2_BeautifulSoup | python-abc
菜单列表如下:
链接:https://python-abc.xyz/basic/8301/;标题:01-猜数游戏
链接:https://python-abc.xyz/basic/1376/;标题:02-统计字符数量
链接:https://python-abc.xyz/basic/9025/;标题:03-九九乘法表
链接:https://python-abc.xyz/basic/4007/;标题:04-注册登录系统_类实现
链接:https://python-abc.xyz/basic/6142/;标题:05-水仙花数
链接:https://python-abc.xyz/basic/1352/;标题:06-求阶乘
链接:https://python-abc.xyz/basic/4144/;标题:07-海龟绘图1_随机对称图形
链接:https://python-abc.xyz/basic/7764/;标题:07-海龟绘图2_数字时钟
链接:https://python-abc.xyz/basic/7859/;标题:07-海龟绘图3_黄金螺旋
链接:https://python-abc.xyz/basic/9354/;标题:07-海龟绘图4_太极图
链接:https://python-abc.xyz/basic/2668/;标题:08-杨辉三角形
链接:https://python-abc.xyz/basic/1092/;标题:09-检测密码强度
链接:https://python-abc.xyz/basic/9103/;标题:10-检测自己的 Python 等级
链接:https://python-abc.xyz/basic/6639/;标题:11-斐波那契数列
链接:https://python-abc.xyz/basic/4322/;标题:12-矩阵1_转置
链接:https://python-abc.xyz/basic/8961/;标题:12-矩阵2_相加
链接:https://python-abc.xyz/basic/3984/;标题:12-矩阵3_相乘
链接:https://python-abc.xyz/basic/2989/;标题:13-回文数
链接:https://python-abc.xyz/basic/1253/;标题:14-字符串加密
链接:https://python-abc.xyz/basic/5982/;标题:15-排序1_选择排序
链接:https://python-abc.xyz/basic/9746/;标题:15-排序2_冒泡排序
链接:https://python-abc.xyz/basic/7394/;标题:15-排序3_插入排序
链接:https://python-abc.xyz/basic/6936/;标题:15-排序4_归并排序
链接:https://python-abc.xyz/basic/3002/;标题:15-排序5_快速排序
链接:https://python-abc.xyz/basic/6708/;标题:16-素数
链接:https://python-abc.xyz/basic/1853/;标题:17-非利克瑞尔数
链接:https://python-abc.xyz/basic/6887/;标题:18-读写文件
链接:https://python-abc.xyz/basic/5995/;标题:19-爬虫1_正则
链接:https://python-abc.xyz/basic/5642/;标题:19-爬虫2_BeautifulSoup
链接:https://python-abc.xyz/basic/5844/;标题:20-十进制转二进制
5. 进阶思考
- 解析出问题描述