请帮我编写一个python程序对当当网的书籍信息进行爬取:1.要求爬取的书籍含有关键
时间: 2024-04-02 08:31:13 浏览: 70
Python爬取当当、京东、亚马逊图书信息代码实例
字"Python",并且包含书籍名称、作者、价格、出版社、出版日期等信息。2.将爬取到的信息存储到excel文件中。
这是一个简单的Python爬虫程序,使用beautifulsoup4库和requests库来爬取当当网的书籍信息,并将其存储到Excel文件中。
```python
import requests
from bs4 import BeautifulSoup
import xlsxwriter
# 设置爬取的URL和关键字
url = 'http://search.dangdang.com/?key=python&act=input'
keyword = 'Python'
# 发送请求并获取响应内容
response = requests.get(url)
html = response.text
# 使用beautifulsoup4库解析网页内容
soup = BeautifulSoup(html, 'html.parser')
# 获取所有包含关键字的书籍信息
book_list = soup.find_all('a', {'class': 'pic'})
# 创建Excel文件
workbook = xlsxwriter.Workbook('book_info.xlsx')
worksheet = workbook.add_worksheet()
# 设置Excel文件表头
worksheet.write(0, 0, '书籍名称')
worksheet.write(0, 1, '作者')
worksheet.write(0, 2, '价格')
worksheet.write(0, 3, '出版社')
worksheet.write(0, 4, '出版日期')
# 遍历每一本书籍,获取书籍信息并存储到Excel文件中
for i, book in enumerate(book_list):
# 判断书籍名称是否包含关键字
if keyword in book['title']:
# 获取书籍价格
price = book.find('span', {'class': 'search_now_price'}).text
# 获取书籍作者和出版信息
book_info = book.find('p', {'class': 'search_book_author'}).text.split('/')
author = book_info[0].strip()
publisher = book_info[-3].strip()
date = book_info[-2].strip()
# 获取书籍名称
name = book['title']
# 将书籍信息存储到Excel文件中
worksheet.write(i+1, 0, name)
worksheet.write(i+1, 1, author)
worksheet.write(i+1, 2, price)
worksheet.write(i+1, 3, publisher)
worksheet.write(i+1, 4, date)
# 关闭Excel文件
workbook.close()
print('爬取完成!')
```
运行程序后,程序将会自动爬取当当网上所有包含关键字"Python"的书籍信息,并将其存储到名为"book_info.xlsx"的Excel文件中。
阅读全文