Python Scrapy爬虫框架 快速简易使用

🖐🏻 免责声明

本教程仅供学习交流使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,请各读者自觉遵守相关法律法规。

# 1.安装虚拟环境并激活

虚拟环境参考->我的另外一篇文章:Python的虚拟环境使用教程

  • virtualenv venv(venv为环境名,按自己需求取名即可)
  • 激活虚拟环境source venv/bin/activate(这是mac的方式)

# 2.虚拟环境下安装scrapy

pip install Scrapy

# 3.创建爬虫项目

scrapy startproject testproject

# 4.创建爬虫类

  • scrapy genspider testpachong "https://gg.agency/webmaster/home"
    • testpachong:爬虫名
    • "https://gg.agency/webmaster/home" 爬虫地址
    • 默认空白爬虫代码image-20240318161127362
      • 注释掉start_urls,自己实现start_requests方法

# 5.定义item

  1. 定义itemimage-20240318162830232

  2. 引用items

    from spidertest.items import GGOfferItem

  3. 传递item,在def parse方法中

    yield item

# 6.定义Pipeline并在setting.py中打开配置

  1. Pipeline作用:可以对爬取的item进行处理,比如插入数据库或excel等

  2. 自定义Pipelineimage-20240318161526786

  3. 打开配置(setting.py)image-20240318161629311

# 7.运行爬虫

scrapy crawl testproject

testproject为项目名

# 8.常用技巧

  • 附带cookieimage-20240318161710860

  • 详情页传递itemimage-20240318161727470

  • 分页image-20240318161746089

  • 图片下载

    • ImagesPipeline requires installing Pillow 4.0.0 or later
      • pip install Pillow
    • 定义item->image_urls和imageimage-20240318161911146
    • 自定义Pipeline继承自imagePipelineimage-20240318161945676
    • 打开imagePipeline配置image-20240318162011792
  • 不遵守robot.txtimage-20240318162036757

  • 传url数组

    • yield from response.follow_all(anchors, callback=self.parse)
  • 断点续爬

    • scrapy crawl companyurl -s JOBDIR=job_info/001
    • ctrl-c暂停
    • 再次输入相同命令恢复爬虫

# 9.更多设置关注官网 (opens new window)

比如延迟爬虫啊,中间件的使用啊,随机useragent,代理啊等

# ☕ 请我喝咖啡

如果本文章对您有所帮助,不妨请作者我喝杯咖啡 :)

pay


# ☀️ 广告时间

现承接以下业务,欢迎大家支持:)

  • Web 2.0 & Web 3.0应用定制
  • Web 3.0专项脚本定制与优化
  • 数据爬虫需求快速响应
  • 网站/公众号/小程序一站式开发
  • 毕业设计与科研项目支持
  • 企业管理软件定制:ERP, MES, CRM, 进销存系统等

联系方式:

X:@motuoka

V:ck742931485

wx