python scrapy scrapyd爬虫 可视化

发布时间:2022-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了python scrapy scrapyd爬虫 可视化脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

编写Scrapy爬虫

唉!!搬砖好累 先放个图吧 😏

python scrapy scrapyd爬虫 可视化

本文链接地址:https://www.cnblogs.COM/gaotangshi/p/15670801.htML

  1. 以抓取腾讯视频热搜为例 https://v.QQ.com/biu/ranks/?t=hotseArch

  2. 创建项目

scrapy startPRoject qqvideohot
cd qqvideoho
scrapy genspider hot v.qq.com
  1. 修改settings.py
ROBOTSTXT_OBEY=False
ITEM_PIPELINES = {
   'qqvideohot.pipelines.QqvideohotPipeline': 300,
}
  1. 增加items.py字段
program_title = scrapy.Field()
program_url = scrapy.Field()
  1. 编写爬虫
import scrapy
From scrapy.utils.LOG import logger

from qqvideohot.items import QqvideohotItem


class HotSpider(scrapy.Spider):
    name = 'hot'
    Allowed_domains = ['v.qq.com']
    start_urls = ['https://v.qq.com/biu/ranks/?t=hotsearch&channel=rank/']

    def parse(self, response, **kwargs):
        item = QqvideohotItem()
        for hot_program_xpath in response.xpath('//ul[@class="table_list"]/li')[1:]:
            program_title = hot_program_xpath.xpath('div[1]/a/text()').extract_First()
            program_url = hot_program_xpath.xpath('div[1]/a/@href').extract_first()
            logger.info(program_title + program_url)
            item['program_title'] = program_title
            item['program_url'] = program_url
            yield item
  1. 运行
scrapy crawl hot

搭建Scrapyd

  1. 安装Scrapyd

    pip install scrapyd
    
  2. 启动Scrapyd

    scrapyd
    

    命令行会输出Web端访问地址

    http://localhost:6800/
    
  3. 修改qqvideohot项目中的scrapy.CFg文件

    # Automatically created by: scrapy startproject
    #
    # For more information about the [deploy] section see:
    # https://scrapyd.readthedocs.io/en/latest/deploy.html
    
    [settings]
    default = qqvideohot.settings
    
    [deploy]
    url = http://localhost:6800/
    project = qqvideohot
    
  4. 注册qqvideohot到Scrapyd

    scrapyd-deploy -p qqvideohot --version 0.0.1
    # 输出
    Packing version 0.0.1
    Deploying to project "qqvideohot" in http://localhost:6800/addversion.json
    Server response (200):
    {"node_name": "DESKTOP-M5396QF", "status": "ok", "project": "qqvideohot", "version": "0.0.1", "spiders": 1}
    

    python scrapy scrapyd爬虫 可视化

  5. 从Scrapyd启动爬虫

    curl http://localhost:6800/schedule.JSON -d project=qqvideohot -d spider=hot
    #输出
    {"node_name": "DESKTOP-M5396QF", "status": "ok", "jobid": "73abcaa2597811ecbe3370c94ed895fc"}
    

    点击Logs可以查看日志

    python scrapy scrapyd爬虫 可视化

  6. Scrapyd命令小结

    # 创建任务并启动
    curl http://localhost:6800/schedule.json -d project=<爬虫项目名> -d spider=<爬虫名>
    # 删除任务
    curl http://localhost:6800/delproject.json -d project=<爬虫项目名>
    # 获取某个项目的待处理、正在运行和已完成作业的列表
    curl http://localhost:6800/listjobs.json?project=<爬虫项目名> | python -m json.tool
    # 获取上传到此 Scrapy 服务器的项目列表
    curl http://localhost:6800/listprojects.json
    

可视化工具搭建

  1. 安装包

    pip install scrapyd-client spiderkeeper
    
  2. 启动SpiderKeeper

    spiderkeeper
    # 访问地址
    http://localhost:5000
    
  3. 生成egg文件

    cd 到爬虫项目下

    scrapyd-deploy --build-egg qqvideohot.egg
    # 输出
    Writing egg to qqvideohot.egg
    
  4. 创建爬虫任务

    1. 点击Create Project

    2. 输入爬虫项目名 qqvideohot

    3. 上传刚才生成的 qqvideohot.egg 文件

      python scrapy scrapyd爬虫 可视化

      上传成功

  5. 运行

    回到主页点击Run

    python scrapy scrapyd爬虫 可视化

    qqvideohot项目hot爬虫已经运行完成

    python scrapy scrapyd爬虫 可视化

    可以点击log查看日志

    python scrapy scrapyd爬虫 可视化

  6. 创建自定义爬虫任务

    点击 Periodic Jobs 中的 Add Job

    python scrapy scrapyd爬虫 可视化

    在这里可以创建自己业务需求的任务类型

  7. 查看运行状态

    python scrapy scrapyd爬虫 可视化

本文链接地址:https://www.cnblogs.com/gaotangshi/p/15670801.html

关于 Scrapy 可视化的学习

Gtang 2021-12-10

评论和私信会在第一时间回复。或者直接私信我。

本博客所有文章除特别声明外,均采用 BY-NC-sA 许可协议。转载请注明出处!

脚本宝典总结

以上是脚本宝典为你收集整理的python scrapy scrapyd爬虫 可视化全部内容,希望文章能够帮你解决python scrapy scrapyd爬虫 可视化所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。