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)

三、成果展示

相关推荐
2501_932750263 分钟前
Java IO流基础全面详解:字节流、字符流
java·开发语言
冰暮流星10 分钟前
javascript之默认事件
开发语言·javascript·ecmascript
fengci.13 分钟前
CTF+随机困难题目
android·开发语言·前端·学习·php
互联网时光机14 分钟前
我用 UniApp + 腾讯云 IAI 做了一个“明星脸比对“小程序,零后台延迟
经验分享·python·人脸识别
l1t15 分钟前
DeepSeek总结的Python 3.14.5 发布候选版本
开发语言·python
雪度娃娃19 分钟前
设计模式——单例模式
开发语言·c++·设计模式
Cyber4K20 分钟前
【Python专项】进阶语法-日志分类与分析(2)
开发语言·前端·python
lbb 小魔仙25 分钟前
Python + LangChain 环境搭建完全指南:从零构建本地 RAG 知识库(附 Ollama 本地模型集成)
开发语言·python·langchain
风落无尘25 分钟前
Python 包发布全流程:从项目结构到 PyPI 上线,以及我踩过的那些坑
开发语言·python·pip
xxjj998a26 分钟前
PHP vs C#:两大编程语言终极对比
开发语言·c#·php