欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

scrapy创建一个简单的不依靠项目的爬虫文件

程序员文章站 2022-05-06 20:31:56
...
  1. 首先创建普通py文件
    内容如下:
 import scrapy
        class Demo(scrapy.Spider):
            name="demo"
            def start_requests(self):
                urls = ['https://www.qidian.com', "https://www.baidu.com"]
                for url in urls:
                    req=scrapy.Request(url,callback=None)
                    yield  req
            def parse(self, response):
                print(response.text)

这个demo继承了scrapy.Spider,爬虫的名字为"demo"这个最好和你的py文件名相同。
接下来重写start_requests方法,urls是一个要爬取网站的url的列表
scrapy.Request(url,callback=None)
这行代码用来发送请求,类似requests,urllib.request.urlopen
设置callback=None则可以将响应内容返回给parse回调函数,yield req相当于return req,即返回req内容,这个不同于将req放入list中然后返回一个list,这种方法可以获取到一个url则处理一个url并调用回调函数返回。这样写可以节约内存消耗,并且速度快,是一种无堵塞的方法。
parse是回调函数,你可以在这里面操作response 的信息

  1. 启动这个spider文件
    scrapy runspider spider文件名(带扩展名),这种方式会显示日志
    不显示日志可以使用:scrapy runspider demo1.py --nolog