1. 豆瓣民谣Top排名爬取

1.1 构建scrapy项目

  1. 安装Scrapy库

    pip install scrapy
  2. 创建Scrapy项目

    通过cmd进入命令窗口,执行命令scrapy startproject xxxx (xxxx为scrapy项目名),创建scrapy项目。

    scrapy startproject douban_spider2024

  3. 创建爬虫项目

    执行scrapy genspider xxx(爬虫名称) xxx(网址)创建爬虫项目。

    scrapy genspider douban www.bouban.com



1.2 虚拟环境构建

  1. 使用Pycharm打开创建好的douban_spider2024文件夹,进入项目。

  2. 构建虚拟环境(venv)

  3. 利用requirement.txt文件安装依赖库,也可以自己一个个pip安装。

    • 查看依赖库:pip freeze > requirements.txt

    • 安装依赖库:pip install -r requirements.txt

1.3 主程序编写

主程序(douban.py)用于编写解析页面的主要内容的代码。

  • 通过start_requests函数获取urls列表,并用Request封装(需要配合在settings.py中启用下载中间件)。

  • 通过parse函数进行网页解析。

1.4 items.py设置

  • 继承scrapy.Item的自定义类SongItem,导入到主程序douban.py中用于存储爬取的字段。

1.5 settings.py设置

用于控制Scrapy框架中各部件的参数,例如USER_AGENT、COOKIES、代理、中间件启停等。

  • 修改USER_AGENT,模拟浏览器登录。

  • 关闭Obey robots.txt rules,将True设置为False。

  • 设置下载延迟

  • 打开下载中间件(downloader_middlewares),实现拦截并修改Request的请求内容。

1.6 middlewares.py设置

  • cookies设置

    进入middlewares.py程序中设置,新增一个处理cookies的函数,执行cookies函数返回一个包含cookies的字典COOKIE_ITEM。

    在xxDownloaderMiddleware类中process_request函数配置COOKIES_ITEM。

  • scrapy 利用sock代理??

1.7 多层url解析

  • 利用回调函数解析多层url:在parse函数最后解析获取新的url,并提交新的Request,并传递item到回调函数parse_detail中解析。

  • 在items.py中添加新的item信息。

1.8 pipelines.py设置

  • 通过pipelines.py构建Excel存储管道,用于将爬取的数据存储到excel中。

七、Scrapy框架-案例1的更多相关文章

  1. 爬虫——Scrapy框架案例二:阳光问政平台

    阳光热线问政平台 URL地址:http://wz.sun0769.com/index.php/question/questionType?type=4&page= 爬取字段:帖子的编号.投诉类 ...

  2. 爬虫——Scrapy框架案例一:手机APP抓包

    以爬取斗鱼直播上的信息为例: URL地址:http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offset=0 爬取字段:房间ID. ...

  3. Scrapy框架——CrawlSpider类爬虫案例

    Scrapy--CrawlSpider Scrapy框架中分两类爬虫,Spider类和CrawlSpider类. 此案例采用的是CrawlSpider类实现爬虫. 它是Spider的派生类,Spide ...

  4. python爬虫入门(七)Scrapy框架之Spider类

    Spider类 Spider类定义了如何爬取某个(或某些)网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item). 换句话说,Spider就是您定义爬取的动作 ...

  5. 爬虫(十四):Scrapy框架(一) 初识Scrapy、第一个案例

    1. Scrapy框架 Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有反爬网站,是目前Python中使用最广泛的爬虫框架. 1.1 Scrapy介绍 ...

  6. 09 Scrapy框架在爬虫中的使用

    一.简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架.它集成高性能异步下载,队列,分布式,解析,持久化等. Scrapy 是基于twisted框架开发而来,twisted是一个 ...

  7. 网络爬虫第五章之Scrapy框架

    第一节:Scrapy框架架构 Scrapy框架介绍 写一个爬虫,需要做很多的事情.比如:发送网络请求.数据解析.数据存储.反反爬虫机制(更换ip代理.设置请求头等).异步请求等.这些工作如果每次都要自 ...

  8. python爬虫scrapy框架

    Scrapy 框架 关注公众号"轻松学编程"了解更多. 一.简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量 ...

  9. Python逆向爬虫之scrapy框架,非常详细

    爬虫系列目录 目录 Python逆向爬虫之scrapy框架,非常详细 一.爬虫入门 1.1 定义需求 1.2 需求分析 1.2.1 下载某个页面上所有的图片 1.2.2 分页 1.2.3 进行下载图片 ...

  10. 安装scrapy框架的常见问题及其解决方法

    下面小编讲一下自己在windows10安装及配置Scrapy中遇到的一些坑及其解决的方法,现在总结如下,希望对大家有所帮助. 常见问题一:pip版本需要升级 如果你的pip版本比较老,可能在安装的过程 ...

随机推荐

  1. [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence

    转义序列 回忆上次内容 上次回顾了5bit-Baudot博多码的来历 从 莫尔斯码 到 博多码 原来 人 来 收发电报 现在 机器 来 收发电报 输入方式 从 电键 改成 键盘 输出方式 从 纸带 变 ...

  2. 【译】使 Visual Studio 更加可视化

    任何 Web.桌面或移动开发人员都经常使用图像.你可以从 C#.HTML.XAML.CSS.C++.VB.TypeScript 甚至代码注释中引用它们.有些图像是本地的,有些存在于线上或网络共享中,而 ...

  3. SQL Server 帐号权限管理及C#编程应用(图解)

    昨晚在群里讲解这部分内容,因为好久没操作过了,差点翻车...今天把它整理一下发出来,方便没听明白的小伙伴学习和理解. 我们平时学习数据库时,要么使用sa帐号,要么用windows默认帐号登录,总之都拥 ...

  4. 简单写写IO流里的一些高级流

    缓冲流Buffered:缓冲流是一种高级的流,他可以对file类的流进行包装,内部含有一种缓冲池,可以在一定程度上提高IO的读写效率 不过,按实验来看,只要给低级流和缓冲流相似的byte读写,其实两者 ...

  5. Linux 有趣命令

    代码雨 1.上传软件包 Linux 获取 wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a ...

  6. 06 定时器和PWM(1)

    前言 前面介绍了一下外部中断,这一节主要介绍一下内部定时器和PWM,这两个知识还是比较重要的. 一.定时器 1.什么是定时器 定时器其实和计数器一样,我们通过设置一个值,当计数器运行一个计数寄存器向上 ...

  7. 【Project】原生JavaWeb工程 02 登陆业务的流程(第一阶段样例)

    1.对用户信息的描述 首先用户有一些基本信息: 最简单的: 用户名称 + 用户密码 然后是用户状态,例如封号,注销,停用,等等 用户名称 + 用户密码 + 账号状态 接着为了防止脚本攻击,又产生了图形 ...

  8. 【Docker】02 上手入门

    环境前提: 软硬件设备:真机 | 服务器 | 虚拟机 操作系统:Linux 协议传输工具:XSHELL等等,直接操作就不用了 网路:必须得有 Docker的安装: 还好在学Linux的时候装了一下,发 ...

  9. 视频分享---------《无人机背后的PID控制》

    在B站上看到有讲无人机自动控制方面的视频,感觉不错,分享下: https://www.bilibili.com/video/BV1aW411E7Qq/?spm_id_from=333.788.vide ...

  10. Python使用pynvml查看GPU信息

    参考: https://blog.csdn.net/TracelessLe/article/details/107405544 ==================================== ...