python爬虫实战(6)--获取某度热榜

1. 项目描述

需要用到的类库

复制代码
pip install requests
pip install beautifulsoup4
pip install pandas
pip install openpyxl

然后,我们来编写python脚本,并引入需要的库:

复制代码
import requests
from bs4 import BeautifulSoup
import pandas as pd

第一部分:网络爬虫

定义一个函数来抓取百度热榜的数据,方式同样是发出GET请求,并使用BeautifulSoup解析请求内容,最后提取热榜标题:

复制代码
def get_hot_list():
    response = requests.get("https://top.baidu.com/board?tab=realtime")
    soup = BeautifulSoup(response.content, 'html.parser')
    hot_list = []
    for idx, item in enumerate(soup.find_all('div', class_='c-single-text-ellipsis')):
        if idx % 2 != 0:
            hot_list.append(item.text)
    return hot_list

以上这个函数用requests库发出GET请求,然后用BeautifulSoup解析请求内容,然后提取出所有的热榜标题。

第二部分:数据输出

编写第二个函数来生成Excel文件:

复制代码
def write_to_excel(hot_list, filename='baidu_hot.xlsx'):
    df = pd.DataFrame(hot_list, columns=['热榜标题'])
    df.to_excel(filename, index=False)

在这个函数里,我们首先将数据转化为pandas的DataFrame对象,然后调用to_excel方法将其保存为Excel文件。

现在,你可以像这样运行脚本以获取百度热榜并生成Excel文件:

复制代码
hot_list = get_hot_list()
write_to_excel(hot_list)

三、成果展示

相关推荐
froginwe117 小时前
DOM 加载函数
开发语言
Hello eveybody7 小时前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
2301_795099748 小时前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
AI进化营-智能译站8 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
呆萌的代Ma8 小时前
python读取并加载.env的配置文件
python
Muyuan19988 小时前
27.RAG 系统中的上下文充分性判断:从 Chunk 数量、FAISS 距离到 LLM Relevance Gate
python·django·pdf·fastapi·faiss
iCxhust8 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
莎士比亚的文学花园8 小时前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript
图码8 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
U盘失踪了8 小时前
python curl转python脚本
开发语言·chrome·python