文章目录

  • Scrapy 爬虫:
    • 首先要运行scrapy肯定需要下载组件
    • 创建一个Scrapy项目
    • 各组件配置

Scrapy 爬虫:

  1. 新建项目 (scrapy startproject xxx):新建一个新的爬虫项目
  2. 明确目标 (编写items.py):明确你想要抓取的目标
  3. 制作爬虫 (spiders/xxspider.py):制作爬虫开始爬取网页
  4. 存储内容 (pipelines.py):设计管道存储爬取内容

首先要运行scrapy肯定需要下载组件

在Pycharm的terminal里运行如下命令,下载Scrapy

pip install Scrapy

创建一个Scrapy项目

#scrapy startproject 项目名
scrapy startproject qqmusic

创建好了之后如下图所示(QQMusicSpider.py和QQMusicSpider2.py是自己创建的
下面来简单介绍一下各个主要文件的作用:
scrapy.cfg: 项目的配置文件。
qqmusic/: 项目的Python模块,将会从这里引用代码。
qqmusic/items.py: 项目的目标文件。
qqmusic/pipelines.py: 项目的管道文件。
qqmusic/settings.py: 项目的设置文件。
qqmusic/spiders/: 存储爬虫代码目录。

各组件配置

item.py

import scrapyclass QqmusicItem(scrapy.Item):song_name = scrapy.Field()  # 歌曲album_name = scrapy.Field()  # 唱片专辑singer_name = scrapy.Field()  # 歌手interval = scrapy.Field()  # 歌曲时长

settings.py

#原来是True,改为False
ROBOTSTXT_OBEY = False
#下载等待时间 默认为3秒,去掉注释
DOWNLOAD_DELAY = 3


QQMusicSpider2.py

from scrapy import Request
from scrapy.spiders import Spider
from ..items import QqmusicItem
import json  # 引入json库class MusicSpider(Spider):name = "music2"passdef start_requests(self):url = "https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?&topid=4"yield Request(url)def parse(self, response):json_text = response.text  # json格式化music_dict = json.loads(json_text)  # 加载json文件for one_music in music_dict["songlist"]:item = QqmusicItem()# 获取歌曲名称item["song_name"] = one_music["data"]["songname"]# 获取唱片item["album_name"] = one_music["data"]["albumname"]# 获取歌手item["singer_name"] = one_music["data"]["singer"][0]["name"]# 获取时长item["interval"] = one_music["data"]["interval"]yield item

init.py:注意是第二个qqmusic里的,不是spiders目录里的init.py

from scrapy import cmdlinecmdline.execute("scrapy crawl music2 -o music2.csv".split())# 当然你也可以在terminal里运行scrapy crawl music2 -o music2.csv

爬取完成会生成music2.csv文件

Scrapy爬虫项目的创建及案例相关推荐

  1. Python爬虫基础:安装Scrapy爬虫框架和创建Scrapy爬虫项目

    首先为了避免国外镜像不稳定,我们使用了清华大学的python库镜像:https://pypi.tuna.tsinghua.edu.cn/simple 1.安装scrapy 1.1.安装pywin32( ...

  2. 安装scrapy模块,创建一个Scrapy爬虫项目,并运行

    创建一个Scrapy项目,首先需要所需要的模块 一丶安装scrapy框架所有模块 1.第一个安装的依赖库是lxml ,命令是: pip install lxml 2.第二个依赖库是pyOpenSSL, ...

  3. python scrapy爬虫遇见301_在Pycharm中运行Scrapy爬虫项目的基本操作

    目标在Win7上建立一个Scrapy爬虫项目,以及对其进行基本操作.运行环境:电脑上已经安装了python(环境变量path已经设置好), 以及scrapy模块,IDE为Pycharm .操作如下: ...

  4. scrapy没有运行结果_关于Scrapy爬虫项目运行和调试的小技巧(下篇)

    前几天给大家分享了关于Scrapy爬虫项目运行和调试的小技巧上篇,没来得及上车的小伙伴可以戳超链接看一下.今天小编继续沿着上篇的思路往下延伸,给大家分享更为实用的Scrapy项目调试技巧. 三.设置网 ...

  5. Scrapy爬虫项目的管理部署

    前言 为了方便对爬虫项目的流程化管理,需要一款合适的工具.主要实现的功能有: 能对爬虫项目的管理做到"统一"."稳定"."方便": 能够查看 ...

  6. Scrapy爬虫项目——阿里文学当当网

    1. Cmd命令行创建项目 创建项目命令: scrapy startproject [项目名] Items定义要爬取的东西:spiders文件夹下可以放多个爬虫文件:pipelines爬虫后处理的文件 ...

  7. 006:开启Scrapy爬虫项目之旅

    上一篇文章介绍了Scrapy框架的安装及其目录结构和常用工具命令,相信大家也有了初步的认识. 本章将从实战编写来补充scrapy的基础知识 Items的编写: 使用Scrapy中的Item对象可以保存 ...

  8. 用pycharm进行python爬虫的步骤_在Pycharm中运行Scrapy爬虫项目的基本操作

    目标在Win7上建立一个Scrapy爬虫项目,以及对其进行基本操作.运行环境:电脑上已经安装了python(环境变量path已经设置好), 以及scrapy模块,IDE为Pycharm .操作如下: ...

  9. python3 + Scrapy爬虫学习之创建项目

    最近准备做一个关于scrapy框架的实战,爬取腾讯社招信息并存储,这篇博客记录一下创建项目的步骤 pycharm是无法创建一个scrapy项目的 因此,我们需要用命令行的方法新建一个scrapy项目 ...

  10. Python 三.创建第一个scrapy爬虫项目(分布式爬虫打造搜索引擎)

    1.安装pywin32 打开cmd窗口 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32 2.安装Twisted网络数据处 ...

最新文章

  1. 赢在中国 - 史玉柱经典语录
  2. 06-老马jQuery教程-jQuery高级
  3. matlab fix函数_Matlab课后答案第四章
  4. 事情各大厂商在战场上布局
  5. 快速入门:OpenShift上的Spring Boot和WildfFly 8.2
  6. oracle11g ora 12518,servlet执行update报错ORA-12518
  7. (转)数字格式化函数:Highcharts.numberFormat()
  8. 属性面板 脚本_如何在组态王中实现同类型设备公用操作面板的调用---干货
  9. hdu2066一个人的旅行(disjkstra)
  10. java jxl读取xlsx_Java添加、读取Excel公式
  11. POJ 1026 Cipher
  12. C语言经典算法100例-021-猴子吃桃问题
  13. etherboot无盘启动
  14. ROS - 科大讯飞语音包使用
  15. WPS文字的字数统计在哪?如何查看当前文档有多少个字?
  16. html图片滤色,CSS3图片混合(Blend)效果详解
  17. 还在抠图?百万张PNG透明图片免费下载!
  18. 通过对比3PL和4PL,来了解什么是4PL
  19. 无聊科技正经事周刊(第8期):让子弹飞一会儿,用长期的眼光看中国开源
  20. zoj 2954 Hanoi Tower(汉诺塔)

热门文章

  1. java计算机毕业设计辅导员班级量化管理系统MyBatis+系统+LW文档+源码+调试部署
  2. 润乾报表统计图联动刷新
  3. 【虚幻引擎4系列教程】第1章:虚幻引擎4的安装指导
  4. 成品app直播源码,设置ViewPager不可滑动
  5. ie8 升级页面html,一个需要兼容到IE8的项目
  6. x86_64 x86 amd64 i386 i686 aarch64等词语含义
  7. 车机没有carlife可以自己下载吗_我可以忍受我的车上没有空调,但是我不能忍受我的车上没有CarPlay!...
  8. 开元酒店在中国的签约及在营酒店规模正式超过600家
  9. EasyPOI之导出Excel复杂模板
  10. Gradle下载的地址