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)

三、成果展示

相关推荐
zhangyao9403301 天前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
闲人编程1 天前
Python在网络安全中的应用:编写一个简单的端口扫描器
网络·python·web安全·硬件·端口·codecapsule·扫描器
骑驴看星星a1 天前
【Three.js--manual script】4.光照
android·开发语言·javascript
星释1 天前
Rust 练习册 :Leap与日期计算
开发语言·后端·rust
悟能不能悟1 天前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
Mr_Xuhhh1 天前
GUI自动化测试--自动化测试的意义和应用场景
python·集成测试
2301_764441331 天前
水星热演化核幔耦合数值模拟
python·算法·数学建模
循环过三天1 天前
3.4、Python-集合
开发语言·笔记·python·学习·算法
Q_Q5110082851 天前
python+django/flask的眼科患者随访管理系统 AI智能模型
spring boot·python·django·flask·node.js·php
_院长大人_1 天前
设计模式-工厂模式
java·开发语言·设计模式