Scrapy爬取当当网畅销图书保存csv格式!最详细的教程!

基于Scrapy框架的当当网编程开发图书定向爬虫 1 项目描述 喜欢买书的朋友肯定听说过当当图书,当当图书包含小说、童书、教辅、教材、考试、外语等多个图书种类,书籍相比其他网站算是比较全的。 本项目仅以采集当当网里面编程开发类的书籍为例。在实际操作过程中,可根据需要,更换要采集的分类网址。还可使用URL列表循环,批量采集多个分类网址的书籍。 本项目采集的当当,具体字段为:图书标题,图书价格,图书作者,评论数量,图书出版时间,出版社,图书简... 阅读详情

、

初步了解scrapy框架爬虫的使用。

 

前言:

 

需要安装一下第三方库
在win下
pip install scrapy
pip install bs4
在mac下把pip改成pip3即可

一、创建scrapy项目

在cmd运行里输入(随便找个盘) scrapy startproject dangdang

 

 

如上图创建成功,接下来在编译器中打开文件

 

这些文件都是自动生成的 来解释说明一下部分文件

 

 

二、代码实现——编辑爬虫

——1.

接下来创建爬虫项目book.py(注意在spiders文件夹下创建)

 

在book.py里填写爬虫代码

import scrapy
import bs4
from ..items import DangdangItem
# 需要引用DangdangItem,它在items里面。因为是items在book.py的上一级目录,..items这是一个固定用法。
class DangdangSpider(scrapy.Spider): #定义一个爬虫类DoubanSpider。
    name = 'dangdang'
    allowed_domains = ['http://bang.dangdang.com']
    start_urls = []
    for x in range(1, 4):
        url = 'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-year-2019-0-1-1' + str(x)
        start_urls.append(url)

    def parse(self, response): #parse是默认处理response的方法。
        soup = bs4.BeautifulSoup(response.text, 'html.parser')
        elements = soup.find('ul', class_="bang_list clearfix bang_list_mode").find_all('li')
        for element in elements:
            item = DangdangItem()
            item['name'] = element.find('div', class_="name").find('a')['title']
            item['author'] = element.find('div', class_="publisher_info").text
            item['price'] = element.find('div', class_="price").find('span', class_="price_n").text
            yield item#   #yield item是把获得的item传递给引擎。

——2. 修改两个文件

接下来打开setting.py文件修改请求头和爬虫协议

 

改成这样:(也就是取消遵守爬虫协议)

 

 

代码如下

Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = '~~Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'~~ (请求头改成自己的)
Obey robots.txt rules
ROBOTSTXT_OBEY = False

最后一步

打开item.py文件修改

 

 

添加以下参数:

name = scrapy.Field()
    author = scrapy.Field()
    price = scrapy.Field()

如图:

 

三、运行爬虫

创建main.py(通过这个运行整个爬虫程序)

 

 

我们需要知道在Scrapy中有一个可以控制终端命令的模块cmdline,能操控终端 但是此方法需要传入列表的参数。

填入:

from scrapy import cmdline
cmdline.execute(['scrapy','crawl','dangdang'])

运行这个main.py就成功了!

 

 

四、保存为csv文件

要是想把爬取内容以表格形式保存 三行代码就可以解决,这也是scrapy的方便之处。 打开settings.py文件,在末尾添加代码:

FEED_URI='./%(name)s.csv'
FEED_FORMAT='csv'
FEED_EXPORT_ENCODING='ansi'

 

看起来美观很多。

运行过程中可能会有各种报错,也是正常的,不要紧,一步步debug就会成功的。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

 

Scrapy:爬取豆瓣图书 一、Scrapy原理 工作原理:通过引擎统领其他成员协同工作。 在使用Scrapy的时候,不需要关心爬虫的每个流程,scrapy中的网络请求都是默认异步模式,请求和返回都会由引擎自动分配处理。如果某个请求出现异常,框架会做异常处理,跳过这个异常的请求,继续去执行后面的程序。 Scheduler(调度器)主要负责处理引擎发送过来的requests对象,把请求的url以有序的方式排列成队,等待引擎提取(类似gevent库的queue模块)。(Scrapy已实现) Downloader(下载器)负责处理引擎发送 阅读详情

相关推荐

python scrapy爬取腾讯招聘网站保存为csv文件,而且设定其表头顺序(csv默认是无序的)

要点:1.设定UA          2.创建csv_item_exporter.py   设定csv           3.settings.py设定好参数           4.begin启动程序目标网址:http://hr.tencent.com/position.php?keywords=&tid=0&starspider.py(主体很简单)import os,io,s...

行者刘6 2371

网络爬虫--20.【Scrapy-Redis实战】分布式爬虫获取房天下--代码实现

文章目录一. 标题二. 标题三. 标题四. 标题五. 标题1. 小标题2. 小标题3. 小标题1). 小标题2). 小标题3). 小标题 一. 标题 二. 标题 三. 标题 四. 标题 五. 标题 1. 小标题 2. 小标题 3. 小标题 1). 小标题 2). 小标题 3). 小标题 ...

fanxindong0620的博客 433

Scrapy 实例——爬取豆瓣图书排名top250

1、安装 pip install E:\python\lxml-4.2.6-cp36-cp36m-win_amd64.whl pip install E:\python\Twisted-18.9.0-cp36-cp36m-win_amd64.whl pip install scrapy 2、爬虫实例 首先我们需要创建一个项目。     scrapy startproject douba...

shazao的专栏 1748

python分布式(scrapy-redis)实现对房天下全国二手房与新房的信息爬取(偏小白,有源码有分析)

偏小白向的python分布式爬取房天下全国二手房与新房信息,json30Mb+ redis数据库数据40W+,有详细分析过程,注释多(‾◡◝)

qq_39915318的博客 7765

地瓜机器人RDK Studio使用入门教程

不知道大家在使用AI开发板的时候有没有遇到过板子官方镜像占据空间大难以保存,想要的时候找不到?官方示例项目久而久之便难以找寻?首次登陆开发板连接网络还需要准备显示器键盘鼠标外设繁杂?…为了解决平时开发过程中遇到的种种不便利问题,地瓜机器人创新的推出了RDK Studio这一官方开发者软件,使智能机器人开发迎来新纪元!通过这一软件极大降低了机器人的开发门槛,哪怕是零基础的用户亦可轻松上手RDK系列板卡!

xiongqi123123的博客 3426

【域控制器EMC】域控制器EMC设计总结

汇总项目设计当中关于EMC的设计要点,主要从原理设计、Layout、结构、外设部分总结。满足要求的器件和合理的电路能降低电磁干扰;正确的布局、接地、信号路径、屏蔽等可以减少电磁辐射。结构件设计也会对EMC性能产生影响。

weixin_42098658的博客 1259

Python Scrapy 爬虫框架爬取推特信息及数据持久化!整理了我三天!

最近要做一个国内外新冠疫情的热点信息的收集系统,所以,需要爬取推特上的一些数据,然后做数据分类及情绪分析。作为一名合格的程序员,我们要有「拿来主义精神」,借助别人的轮子来实现自己的项目,而不是从头搭建。 一、爬虫框架Scrapy Scrapy是用Python实现一个为爬取网站数据、提取结构性数据而编写的应用框架。专业的事情交给专业的框架来做,所以,本项目我们确定使用 Scrapy 框架来进行...

爬遍所有网站 5286

多普勒频移测速与FMCW测距

文章目录时域与频域基于多普勒频移估计速度基于传统的FMCW测距什么是FMCWFMCW测距原理参考论文 时域与频域 时域 — 自变量是时间,即横轴是时间,纵轴是信号振幅的变化。表示振幅随时间的变化。 频域 — 自变量是频率,即横轴是频率,纵轴是该频率信号幅度的峰值。表示振幅峰值随频率的变化。 基于多普勒频移估计速度 当发送端静止而接收端相对运动时,有: v=FsFcv=\frac{F^s}{F}cv=FFs​c 其中,F是信号的原始频率;FsF^sFs 是接收信号频率与发送信号频率之差,即多普勒频移;c是

dsaaf21的博客 9186

Python应用框架Scrapy2.8.0详解(最新版本)

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的开源应用框架,就像Java中的Spring、Mybatis框架一样。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

全栈行动派的博客 2748

【量化交易】迅投QMT——基础操作新建策略导入策略!

策略指标 #基础操作 #新建策略 在【我的】主页,点击新建策略按钮 点击【pyhton策略】模型 会弹出一个策略编辑器框 【新建策略文件】 编辑完点击【编译】按钮 关闭策略编辑器 导入策略 券商 QMT:1. 点击进入【模型研究】界面2. 右键 -> 选择本地. rzrk导入 投研端:1. 点击【行情】界面,选择模型2. 右键 -> 选择本地. rzrk导入 #策略在副图作为指标运行 在主图上双击策略 VBA策略可以直接输出图像

weixin_eng02048的博客 4104

IOS APP上架被拒 4.3(a) - Design - Spam,成功

成功解决IOS APP上架被拒 4.3(a) - Design - Spam,本篇博客记录了详细过程

qq_40147106的博客 6905

爬取图书,将图书的信息保存到csv文件中

爬取http://www.allitebooks.org/这个网页的图书,将图书的信息保存到csv文件中,解析数据时分别使用BeautifulSoup,正则表达式和Xpath解析,共两份代码 import requests from bs4 import BeautifulSoup import json import csv import re items = [] class BookCraw...

wg5foc08的博客 1789

华为OD机试真题 新系统2026-04-01 Python&JS【计算数列位置N的值】

如果其前面的M个元素中,存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之如果其前面的M个元素中,不存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之差;1、输入M、N两个数,则按照以下规则形成一个数列;两个整数,用逗号分割,分别表示M和N。一个整数,表示数列第N个位置上的数值。2、数列的前M个元素的值为1到M;请计算该数列第N个位置上的数值。N取值范围:1<= N<=50。M取值范围:3<=M<=10。

MISAYAONE的博客 3212

Python.Scrapy爬取当当网畅销图书保存csv格式详细教程

前言: 需要安装一下第三方库 在win下 pip install scrapy pip install bs4 在mac下把pip改成pip3即可 文章目录一、创建scrapy项目-——1.二、代码实现——编辑爬虫-——1.-——2. 修改两个文件三、运行爬虫 一、创建scrapy项目 -——1. 在cmd运行里输入(随便找个盘) scrapy startproject dangdang 如上图创建成功,接下来在编译器中打开文件 这些文件都是自动生成的 来解释说明一下部分文件 .

weixin_51277037的博客 4481

Cadence 批量一次性修改title 页码标题

本文介绍如何在Cadence软件中对DSN文件进行标题栏的批量编辑操作,包括选择编辑对象、使用快捷键打开属性面板以及如何修改标题、页码等关键信息。

tianpu2320959696的博客 975

使用R语言实战:构建Logistic回归模型

Logistic回归是一种基于概率的分类算法,它用于预测离散的结果变量(也称为响应变量或因变量)。与线性回归不同,Logistic回归的输出是一个概率值,通常在0和1之间。这使得它非常适合处理二分类问题。市场营销:预测客户是否会购买某个产品。医学研究:预测疾病的发生与否。信用风险评估:预测个人申请贷款的违约风险。社会科学:预测个人对某个政策的态度。

2301_79331230的博客 1139

Scrapy爬虫(5)爬取当当网图书畅销榜

  本次将会使用Scrapy来爬取当当网的图书畅销榜,其网页截图如下:   我们的爬虫将会把每本书的排名,书名,作者,出版社,价格以及评论数爬取出来,并保存为csv格式的文件。项目的具体创建就不再多讲,可以参考上一篇博客,我们只需要修改items.py文件,以及新建一个爬虫文件BookSpider.py.   items.py文件的代码如下,用来储存每本书的排名,书名,作者,出版社,价...

aix26249的博客 511

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python框架爬虫——Scrapy爬取当当网选定店铺的全部信息。保存至本地(csv、MongoDB )

文章目录一、创建项目二、爬取子页面链接三、设置每本书要爬取的Item(Items.py)四、爬虫解析页面(spider.py)五、将爬取内存保存至本地(piplines.py)1、保存数据到MongoDB2、保存到csv六、查看、清洗数据,开始数据分析 一、创建项目 开始之前我们先建立项目 1、命令行输入scrapy startproject dangdang创建dangdang项目文件夹 2、命...

Demonslzh的博客 1430

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Scrapy爬取豆瓣图书详情存入CSV并导入MySQL

前言 利用Scrapy爬虫框架爬取豆瓣图书内容 主要思路: 进入 https://book.douban.com/tag/ ,该页面展示了豆瓣图书的全部分类标签 依次进入每一个标签来爬取数据,每个标签爬取200条 爬取封面,书名,作者,根据书名超链接进入到每一个图书详情页,爬取详细信息和书籍简介 将爬取下来的数据存入json文件 一、新建爬虫工程 scrapy startproject douban cd douban scrapy genspider book book.douban

zj93170的博客 2924

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Scrapy框架入门实例:Scrapy爬取豆瓣图书Top250

刚学了scrapy框架,找一个东西练练手 点击此处查看网页 先在cmd创建一个项目 ,记得先切换到对应的目录下面 scrapy startproject doubanTop 要把这些信息全部爬取下来故,先在items文件里面把要提取的信息的名字写好 items.py import scrapy class DoubantopItem(scrapy.Item): # define ...

Trial & Error 4489

使用Scrapy爬取数据并保存为json、csv文件及乱码解决

安装scrapy pip install scrapy 创建porject scrapy startporject tutorial 执行成功后在目录下生产tutorial文件夹,结构目录如下: 3. 在items.py中定义自己要抓取的数据: #定义爬取对象属性 class ListItem(scrapy.Item): name = scrapy.Field() url = scrapy.Field() order = scrapy.Field() score.

我的博客-记录 5031

Scrapy爬取豆瓣电影top250数据并保存mysql/json/csv

Scrapy爬取豆瓣电影top250数据并保存为不同格式 帮一个大一的小朋友做作业,看了一下Scrapy,这里也记录一下吧,有需要的可以参考一下。 Scrapy爬取豆瓣电影top250的代码网上有很多,这里借用了

Growing_Snake的博客 5615

Python使用Scrapy框架爬取数据存入CSV文件_python scrapy保存csv(1)

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84584609的博客 1130

Scrapy爬虫之爬取当当网图书畅销榜

  本次将会使用Scrapy来爬取当当网的图书畅销榜,其网页截图如下:   我们的爬虫将会把每本书的排名,书名,作者,出版社,价格以及评论数爬取出来,并保存为csv格式的文件。项目的具体创建就不再多讲,可以参考上一篇博客,我们只需要修改items.py文件,以及新建一个爬虫文件BookSpider.py.  items.py文件的代码如...

weixin_34289744的博客 805
上一篇: 如何利用Python写一个病毒,去逗逗室友!毕竟他新买的电脑
下一篇: Python实现猫捉老鼠小游戏!虽然简陋但是童真永在!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值