scrapy实战之scrapyrt的使用

  scrapyrt为scrapy提供了一个http接口,有了它,我们不用再执行命令,而是直接请求一个http接口来启动项目,如果项目是部署在远程的,会比较方便。

  1、安装: pip install scrapyrt

  2、在任意一个项目中运行scrapyrt,再此我们在quotes爬虫项目中运行。默认会运行在9080端口上。

       

 

   此时我们可以在浏览器中请求此项目:http://localhost:9080/crawl.json?spider_name=quotes&url=http://quotes.toscrape.com/

  返回数据如下:解析此json数据即可。

        

 

  

  scrapyrt可以有Get和Post两种请求方式

  Get:目前Get请求支持如下参数

    1、spider_name:Spider名称,字符串类型,必传参数,如果传递的spider不存在,则返回404错误。

    2、url:爬取链接,字符串类型,如果起始链接没有定义就必须传递这个参数,如果传递了该参数,Scrapy会直接使用此URL生成Request,而直接忽略start_requests()方法和starts_urls属性的定义。

    3、callback:回调函数名称,字符串类型,可选参数,如果传递了就会使用此回调函数处理,否则使用Spider默认的回调函数

    4、max_requests:最大请求数量,数值类型,可选参数,定义了scrapy执行请求的Request的最大次数限制,如果定义为5,则表示最多执行5此Request请求,其余的会被忽略。

    5、start_requests:代表是否要执行start_requests方法,布尔类型,可选参数。scrapy项目中,如果定义了start_requests()方法,默认会被调用;但是在scrapyrt中,此方法默认不会被调用,如果要调用,需要传递参数为true。

  Post:

    也可以通过Post请求来请求scrapyrt,但是此处的Request Body必须是一个合法的Json配置,在json中可以配置更多的参数,更加灵活。

    目前Json配置支持以下参数

    1、spider_name:Spider名称,字符串类型,必传参数,如果传递的spider不存在,则返回404错误。

    2、max_requests:最大请求数量,数值类型,可选参数,定义了scrapy执行请求的Request的最大次数限制,如果定义为5,则表示最多执行5此Request请求,其余的会被忽略。

    3、request:Request配置,Json对象,必传参数,通过该参数可以定义Request的各个参数,必须指定url字段来执行爬取链接,其他字段可选。

 

posted on 2019-02-13 22:42  liangxb  阅读(2065)  评论(0编辑  收藏  举报