feapder框架学习(一)

feapder框架学习(一)

官方文档:https://feapder.com/

1 安装

pip install “feapder[all]”

2 创建项目

feapder create -p FeapderDemo

在这里插入图片描述

3.1 轻量爬虫 AirSpider

在spiders目录下执行

feapder create -s air_spider_test

在这里插入图片描述
选择第一个爬虫模板,在spiders包下生成air_spider_test.py文件
在这里插入图片描述

3.2 demo

网站: https://ssr1.scrape.center/

完整代码

import feapder


class AirSpiderMovies(feapder.AirSpider):
    def start_requests(self):
        # 不指定callback,默认回调parse方法解析
        yield feapder.Request("https://ssr1.scrape.center/page/1")

    def parse(self, request, response):
        divs = response.xpath('//div[@class="el-col el-col-18 el-col-offset-3"]/div')
        for div in divs:
            name = div.xpath('.//h2/text()').extract_first()
            detail_url = div.xpath('.//div[@class="el-row"]/div[1]/a/@href').extract_first()
            # 传参使用meta=dict的方式,不一定是meta,只要避免和内置的关键字参数一样,都可以
            # 也可以使用key=value的方式传递
            # yield feapder.Request(detail_url, callback=self.parse_list, name=name)
            # yield feapder.Request(detail_url, callback=self.parse_list, d={'name': name})
            yield feapder.Request(detail_url, callback=self.parse_list, meta={'name': name})

    def parse_list(self, request, response):
        score = response.xpath('//div[@class="el-col el-col-24 el-col-xs-8 el-col-sm-4"]/p[1]/text()').extract_first()
        # 使用request对象获取传递的值        
        # name = request.name
        # name = request.d.get('name')
        name = request.meta.get('name')
        print(name, '=====', score)

if __name__ == "__main__":
    AirSpiderMovies().start()

3.3 运行爬虫

  • 脚本运行

    python air_spider_movies.py

    在这里插入图片描述

  • 命令行运行

    修改main.py文件

    from feapder import ArgumentParser
    
    from spiders import *
    
    def crawl_movie():
        """
        AirSpider爬虫
        """
        spider = air_spider_movies.AirSpiderMovies()
        spider.start()
    
    
    if __name__ == "__main__":
        parser = ArgumentParser(description="电影爬虫")
    
        parser.add_argument(
            "--crawl_movies", action="store_true", help="xxx爬虫", function=crawl_movie
        )
        parser.start()
    

python main.py --crawl_movie

在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值