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)

三、成果展示

相关推荐
华研前沿标杆游学9 小时前
华为松山湖高阶研学|企业数字化转型游学攻略
python
Data_Journal13 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
豆角焖肉13 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
Frank_refuel13 小时前
【C++八股】面向对象
开发语言·c++
青 春 记 忆14 小时前
零基础入门python20:Flask配置、扩展和蓝图拆分
python·flask·后端开发
m0_3807438714 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
万邦科技Lafite15 小时前
阿里巴巴拍立淘按图搜索商品API返回值实践:提升用户购物满意度的关键措施
开发语言·api·开放api·电商开放平台·京东开放平台
小小龙学IT16 小时前
Qt 6 跨平台开发完全指南:从信号槽机制到实际项目落地
开发语言·qt
leisoo809716 小时前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
卷无止境16 小时前
FastAPI 的 Metadata 到底是什么,又牵动了哪些核心概念
后端·python