使用python爬取豆瓣图书信息,包括标题,作者,类别,封面链接,日期,出版社,图书链接等,并存储为csv文件
时间: 2024-04-29 08:23:48 浏览: 66
以下是使用Python爬取豆瓣图书信息并存储为CSV文件的代码。请注意,我们使用了BeautifulSoup和requests库来爬取网页内容,并使用pandas库来将数据存储为CSV文件。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义要爬取的页面链接
url = 'https://book.douban.com/top250?start='
# 定义空的列表来存储图书信息
titles = []
authors = []
categories = []
cover_urls = []
dates = []
publishers = []
book_urls = []
# 循环爬取前250本图书的信息
for i in range(0, 250, 25):
# 发送GET请求获取页面内容
r = requests.get(url + str(i))
soup = BeautifulSoup(r.content, 'html.parser')
# 获取每本书的信息
books = soup.find_all('div', class_='pl2')
for book in books:
# 获取书名和链接
title = book.find('a')['title']
book_url = book.find('a')['href']
# 获取作者、出版日期、出版社和分类信息
book_info = book.find('p', class_='pl').get_text().split('/')
author = book_info[0].strip()
date = book_info[-2].strip()
publisher = book_info[-3].strip()
category = book_info[-4].strip()
# 获取封面图片链接
cover_url = book.parent.find('a', class_='nbg')['href']
# 将图书信息添加到对应的列表中
titles.append(title)
authors.append(author)
categories.append(category)
cover_urls.append(cover_url)
dates.append(date)
publishers.append(publisher)
book_urls.append(book_url)
# 将图书信息存储为CSV文件
df = pd.DataFrame({
'Title': titles,
'Author': authors,
'Category': categories,
'Cover URL': cover_urls,
'Date': dates,
'Publisher': publishers,
'Book URL': book_urls
})
df.to_csv('douban_books.csv', index=False, encoding='utf-8')
```
运行此代码后,您将在当前目录下找到名为“douban_books.csv”的文件,其中包含前250本豆瓣图书的信息。
阅读全文