使用python爬取豆瓣图书信息,包括标题,作者,类别,封面链接,日期,出版社,图书链接等信息
时间: 2024-06-11 10:10:21 浏览: 140
以下是一个简单的爬取豆瓣图书信息的python代码:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头,模拟浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 设置需要爬取的网页链接
url = 'https://book.douban.com/top250'
# 发送请求,获取网页内容
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 定位图书信息所在的标签
book_list = soup.find('div', class_='article').find_all('tr', class_='item')
# 遍历每一个图书信息标签,获取需要的信息
for book in book_list:
# 获取图书信息
title = book.find('div', class_='pl2').find('a')['title']
author = book.find('p', class_='pl').text.strip().split('/')[0]
category = book.find('p', class_='pl').text.strip().split('/')[-3]
date = book.find('p', class_='pl').text.strip().split('/')[-2]
publisher = book.find('p', class_='pl').text.strip().split('/')[-1]
cover_url = book.find('a').find('img')['src']
book_url = book.find('a')['href']
# 打印获取到的图书信息
print('书名:', title)
print('作者:', author)
print('类别:', category)
print('日期:', date)
print('出版社:', publisher)
print('封面链接:', cover_url)
print('图书链接:', book_url)
print()
```
上述代码通过requests库向豆瓣图书排行榜发送请求,使用BeautifulSoup库解析网页内容,定位到每个图书信息所在的标签,从中获取需要的信息,并使用print()函数将信息打印出来。其中,由于网页内容对于一些信息使用了类似“作者/译者”的格式,因此需要使用split()函数将其分割开来,得到需要的信息。
阅读全文