本文主要是介绍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)
这篇关于python爬虫实战(6)--获取某度热榜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!