爬虫第九课---scrapy中间件

61 阅读1分钟
'''
scrapy中间件

获取数据

模拟请求   headers User-Agent

ip地址

cookies 每次请求之前,要先添加cookies信息

scrapy 是会自动保存cookies信息

process_request
返回None scrapy继续处理这个Request
返回Response scrapy 直接返回这个Response
返回request scrapy 重新调度返回的Request请求
返回异常

在请求之前对requset进行处理

process_response
在请求之后对返回数据的response进行处理

'''
"""
selenium库(自动化测试库)的使用
下载浏览器驱动:http://chromedriver.storage.googleapis.com/index.html
下载对应的驱动器。
"""

简单的代码实现:

中间件代码(middlewares.py)

from scrapy import signals
from selenium import webdriver
import time
import scrapy

…………………………

class SeleniumspiderDownloaderMiddleware(object):
    # Not all methods need to be defined. If a method is not defined,
    # scrapy acts as if the downloader middleware does not modify the
    # passed objects.

    @classmethod
    def from_crawler(cls, crawler):
        # This meth