爬取豆瓣读书TOP250数据保存到csv文件和xls文件
时间: 2024-12-26 10:09:55 浏览: 101
爬取豆瓣读书Top250的数据并保存到CSV和XLS(Excel)文件通常涉及以下几个步骤:
1. **获取数据**:
使用网络爬虫库,如Python的`requests`和`BeautifulSoup`(针对HTML页面)、`Scrapy`(更强大的爬虫框架)或者`selenium`(模拟浏览器),访问豆瓣读书Top250的网页(https://book.douban.com/top250)。
2. **解析数据**:
解析网页内容,提取书名、作者、评分和简介等信息。这通常需要定位到相关的HTML元素,并通过CSS选择器或XPath表达式找到。
3. **数据处理**:
将抓取的数据存储到字典列表中,每个字典代表一条书籍记录,方便后续操作。
4. **保存到文件**:
使用Python内置的`csv`模块将数据保存为CSV文件,每行对应一条记录。对于XLS文件,可以使用第三方库`pandas`,它提供了直接写入Excel的功能。
```python
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
# 第一步:发送请求并解析HTML
url = "https://book.douban.com/top250"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 第二步:查找并提取数据
books_data = []
rows = soup.select('.subject-item')
for row in rows:
title = row.select_one('.title a').text.strip()
author = row.select_one('.author').text.strip() or "-"
rating = float(row.select_one('.rating_num').text)
intro = row.select_one('.inq').text.strip() or "-"
books_data.append({'书名': title, '作者': author, '评分': rating, '简介': intro})
# 第三步:保存数据
with open('top250_books.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=books_data[0].keys())
writer.writeheader()
writer.writerows(books_data)
df_books = pd.DataFrame(books_data)
df_books.to_excel('top250_books.xls', index=False) # 对于XLS文件
阅读全文
相关推荐


















