Python爬虫,爬取豆瓣读书top250

本文详细介绍了如何使用Python的requests和正则表达式库爬取豆瓣读书网站的Top250书籍列表,包括获取页面数据、解析书籍信息和模拟翻页的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

概述

一、导入相关库

二、代码编写

2.1获取当前页面的数据

2.2获取书籍数据

2.3开始爬取

2.4运行结果

三、完整代码

概述

        简单的用python的一些库爬取豆瓣读书top250的书籍。

一、导入相关库

import requests
import re
import time

二、代码编写

2.1获取当前页面的数据

''' 获取一页的数据 '''
def get_one_page(url):
    #添加User-Agent
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0'
    }
    #发送请求,并且将请求头加上
    response = requests.get(url,headers=headers)
    #获取当前页面的编码方式并设置
    response.encoding = response.apparent_encoding
    #获取页面内容
Python爬虫可以用于爬取豆瓣读书Top250书评。具体步骤如下: 1. 导入所需的库,包括requests、beautifulsoup和pandas。 ```python import requests from bs4 import BeautifulSoup import pandas as pd ``` 2. 构造求头和URL,使用requests库发送获取响应。 ```python 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) ``` 3. 使用beautifulsoup库解析响应内容,获取书籍名称、作者、评分和书评等信息。 ```python soup = BeautifulSoup(response.text, 'html.parser') book_list = soup.find('div', {'class': 'article'}).find_all('table') data = [] for book in book_list: book_name = book.find('div', {'class': 'pl2'}).find('a')['title'] book_author = book.find('p', {'class': 'pl'}).get_text() book_rating = book.find('span', {'class': 'rating_nums'}).get_text() book_comment = book.find('span', {'class': 'inq'}).get_text() data.append([book_name, book_author, book_rating, book_comment]) ``` 4. 将获取到的数据存储到pandas的DataFrame中,输出到csv文件中。 ```python df = pd.DataFrame(data, columns=['书名', '作者', '评分', '书评']) df.to_csv('douban_book_top250.csv', index=False, encoding='utf-8-sig') ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值