爬取人民邮电出版社(https://www.ptpress.com.cn/)中的新书推荐中的类别,已经相关类别中的书籍列表,最后按照目录类别保存相关的书籍列表,并把数据存储在data目录下的book.csv文件中。
时间: 2024-06-17 16:04:45 浏览: 413
一个简单的,按类别,按作者,按出版社,按书名,图书查询系统.
3星 · 编辑精心推荐
好的,你需要使用 Python 编写一个爬虫程序来完成这个任务。首先,我们需要使用 requests 库来请求网页,并使用 BeautifulSoup 库来解析网页。
以下是大致的步骤:
1. 发送 HTTP 请求,获取网页内容
2. 使用 BeautifulSoup 解析网页,获取新书推荐中的所有目录类别链接
3. 循环遍历每个目录类别链接,获取该类别中的所有书籍信息(包括书名、作者、出版社等信息)
4. 将所有书籍信息保存到 CSV 文件中
下面是示例代码,你可以在本地新建一个名为`book.py`的 Python 文件,将以下代码复制进去,并运行:
```python
import requests
from bs4 import BeautifulSoup
import csv
import os
# 发送 HTTP 请求,获取网页内容
url = 'https://www.ptpress.com.cn/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取新书推荐中的所有目录类别链接
category_links = []
for category in soup.select('.new-book ul li a'):
category_links.append(category['href'])
# 获取该类别中的所有书籍信息(包括书名、作者、出版社等信息)
books = []
for link in category_links:
response = requests.get(link)
soup = BeautifulSoup(response.text, 'html.parser')
for book in soup.select('.book-list .book-item'):
title = book.select_one('.book-title').text.strip()
author = book.select_one('.book-author').text.strip()
press = book.select_one('.book-press').text.strip()
books.append([title, author, press, link])
# 将所有书籍信息保存到 CSV 文件中
if not os.path.exists('data'):
os.mkdir('data')
with open('data/book.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['书名', '作者', '出版社', '目录链接'])
writer.writerows(books)
print('爬取完成!')
```
执行完毕后,你可以在 `data` 目录下找到生成的 `book.csv` 文件。
阅读全文