爬取豆瓣Top250图书数据

这篇具有很好参考价值的文章主要介绍了爬取豆瓣Top250图书数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

爬取豆瓣Top250图书数据

项目的实现步骤
1.项目结构
2.获取网页数据
3.提取网页中的关键信息
4.保存数据
1.项目结构
爬取豆瓣Top250图书数据

2.获取网页数据
对应的网址为https://book.douban.com/top250
爬取豆瓣Top250图书数据
爬取豆瓣Top250图书数据

import requests
from bs4 import BeautifulSoup
"""
获取网页数据,解析数据,将相应的数据传出
"""
def get_page(url):
    headers = {
        'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) '
                     'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 '
                     'Mobile Safari/537.36 Edg/114.0.1823.43'
    }
    resp=requests.get(url,headers=headers)
    soup=BeautifulSoup(resp.text,'html.parser')
    return soup

3.提取网页中的关键信息
获取传出的解析后的数据,获取对应的图片,书名,作者,价格,评价,简介

from geturlcocument.get_document import get_page
import re
# 初始数据
pictures=[]
names=[]
authors=[]
prices=[]
scores=[]
sums=[]
def get_single():
    # 网址地址
    urls = [f"https://book.douban.com/top250?start={num}" for num in range(0,250,25)]
    for url in urls:
        # 获取对应的网页文本
        text = get_page.get_page(url)
        # 所有数据的集合
        all_tr = text.find_all(name="tr", attrs={"class": "item"})
        # 查找每个单项
        for tr in all_tr:
            # 数据类型:图片,书名,作者,价格,评分,简介
            # 图片
            picture = tr.find(name="img")
            picture = picture.get('src')
            # print(picture)
            # 书名
            div = tr.find(name='div', attrs={'class': 'pl2'})
            name = div.find('a').text
            name = re.sub(r'\s+', '', name)
            # 作者
            author = tr.find(name='p', attrs={'class': 'pl'}).text
            author = author.split('/')[0]
            # 价格
            price = author.split('/')[-1]
            price = re.sub(r'元', '', price)
            # 评分
            score = tr.find(name='span', attrs={'class': 'rating_nums'}).text
            try:
                sum = tr.find(name='span', attrs={'class': 'inq'}).text
            except AttributeError:
                sum = ''
            pictures.append(picture)
            names.append(name)
            authors.append(author)
            prices.append(price)
            scores.append(score)
            sums.append(sum)
    data = {
        "picture": pictures,
        "name": names,
        "author": authors,
        "price": prices,
        "score": scores,
        "sum": sums
    }
    return data

将获取的数据存入到字典中,将数据传出,使用re库对相应的数据进行处理,运用异常检错
4.保存数据
获取传出的字典类型的数据,将数据存入到pandas的DataFrame类型中

from geturlcocument.get_single_docuemnt import get_single
import pandas as pd
# 获取字典类型的数据
data=get_single.get_single()
# 用pandas的DataFrame类型存储数据
df=pd.DataFrame(data)
df.to_csv('./books.csv',encoding='utf-8')
print('ending of data')

该项目完成!!!文章来源地址https://www.toymoban.com/news/detail-481176.html

到了这里,关于爬取豆瓣Top250图书数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Python练习]使用Python爬虫爬取豆瓣top250的电影的页面源码

    在终端中输入以下代码(直接在cmd命令提示符中,不需要打开Python) 从豆瓣网提供的镜像网站下载requests第三方库 是从国外网站下载,速度慢甚至有时候无法下载 运行代码之后,没反应,无输出结果 可以看一下返回的页面请求状态码是多少: 状态码是 418 ,所有4开头的状态

    2024年01月17日
    浏览(34)
  • 爬虫项目实战:利用基于selenium框架的爬虫模板爬取豆瓣电影Top250

    👋 Hi, I’m @货又星 👀 I’m interested in … 🌱 I’m currently learning … 💞 I’m looking to collaborate on … 📫 How to reach me … README 目录(持续更新中) 各种错误处理、爬虫实战及模板、百度智能云人脸识别、计算机视觉深度学习CNN图像识别与分类、PaddlePaddle自然语言处理知识图谱、

    2024年02月04日
    浏览(35)
  • 【python】爬取豆瓣电影排行榜TOP250存储到CSV文件中【附源码】

           代码首先导入了需要使用的模块:requests、lxml和csv。         如果出现模块报错         进入控制台输入:建议使用国内镜像源          我大致罗列了以下几种国内镜像源:              设置了请求头部信息,以模拟浏览器的请求,函数返回响应数据

    2024年02月04日
    浏览(36)
  • 【python】爬取豆瓣电影排行榜Top250存储到Excel文件中【附源码】

       近年来,Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程 序,用于抓取豆瓣电影Top250的相关信息,并将其保存为Excel文件。          程序包含以下几个部分:            导入模块:程序导入了 BeautifulSoup、re、urllib.request、urllib

    2024年02月03日
    浏览(40)
  • 爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

    在本篇博客中,我们将使用 Python 的 Selenium 和 BeautifulSoup 库来实现一个简单的网页爬虫,目的是爬取豆瓣电影TOP250的数据,并将结果保存到Excel文件中。 Selenium 是一个自动化测试工具,可以模拟用户在浏览器中的交互操作。我们将使用 Selenium 来打开网页、获取网页源码。 B

    2024年02月12日
    浏览(35)
  • python爬虫项目——豆瓣Top250

    我们今天讲一个爬虫项目案例,实现对豆瓣电影top榜的爬取 。把爬取的数据存到我们电脑本地文件当中。通过这个项目可以让我们真正感受到爬虫的带给我们的乐趣。现在我来讲一下思路以及实现方法,因为豆瓣电影的这个反爬机制不高,所以我们可以通过这个案列快速上手

    2024年02月11日
    浏览(48)
  • 朴素贝叶斯算法实现 豆瓣Top250电影评价的情感分析与预测。​

    本文使用朴素贝叶斯算法实现 豆瓣Top250电影评价的情感分析与预测。 最近在学习自然语言正负面情感的处理问题,但是绝大部分能搜索到的实践都是Kggle上IMDB影评的情感分析。 所以在这里我就用最基础的朴素贝叶斯算法来对豆瓣的影评进行情感分析与预测。 在这里我参考了

    2024年02月10日
    浏览(27)
  • python爬取豆瓣电影排行前250获取电影名称和网络链接[静态网页]————爬虫实例(1)

    目录 1.算法原理: 2.程序流程: 3.程序代码: 4.运行结果(部分结果展示): 5.结果分析: (1)利用import命令导入模块或者导入模块中的对象; ①利用requests库获取数据; ②用BeautifulSoup库将网页源代码转换成BeautifulSoup类型,以便于数据的解析和处理; ③用time库进行时间延时

    2023年04月16日
    浏览(37)
  • 【爬虫】一次爬取某瓣top电影前250的学习记录

    先贴上爬取的脚本: import requests import re for i in range(1,11):     num=(i-1)*25     url=f\\\"https://movie.douban.com/top250?start={num}filter=\\\"     head={\\\"User-Agent\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\\\"}#伪造请求头     res=requests.get(url,headers=head)    

    2024年02月06日
    浏览(41)
  • 【腾讯云 TDSQL-C Serverless 产品体验】以TDSQL-C Mysql Serverless 作为数据中心爬取豆瓣图书数据

    最近我一直在研究 python 爬虫,公司需要很多数据源的数据,但遇到一个很大的障碍,就是没有合适的数据库储存这些数据,因为普通的机器的性能瓶颈非常明显,而且爬虫数据性能的要求也不是非常稳定,如果购买一台高配按月付费的机器,那无疑浪费了没有使用到的性能

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包