scrapy 手记

重定向问题:

使用scrapy抓取内容的时候如果页面中有下面重定向的代码,scrapy就会去另一个页面,如下代码

第一种:

重定向方法是在返回头里添加301重定向,如下php代码

//设置地址被永久的重定向 301
header('HTTP/1.1 301 Moved Permanently');
header('location:www.xxx.com');
禁止这种重定向的方法是在项目设置文件(setting.py)中添加下面代码
REDIRECT_ENABLED = False
禁止这种重定向的方法是在项目设置文件( setting.py )中添加下面代码

第二种:

是直接在页面里添加重定向代码,如下

<meta http-equiv="refresh" content="3.0;url=http://www.xxxx.pw">
采集中会出现如下所示重定向提示

禁止这种重定向的方法是在设置文件(setting.py)中添加下面代码(关键是里面的那个注释掉的代码)

DOWNLOADER_MIDDLEWARES_BASE = {
    'scrapy.contrib.downloadermiddleware.robotstxt.RobotsTxtMiddleware': 100,
    'scrapy.contrib.downloadermiddleware.httpauth.HttpAuthMiddleware': 300,
    'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': 400,
    'scrapy.contrib.downloadermiddleware.retry.RetryMiddleware': 500,
    'scrapy.contrib.downloadermiddleware.defaultheaders.DefaultHeadersMiddleware': 550,
    #'scrapy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 600,
    'scrapy.contrib.downloadermiddleware.cookies.CookiesMiddleware': 700,
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 750,
    'scrapy.contrib.downloadermiddleware.httpcompression.HttpCompressionMiddleware': 800,
    'scrapy.contrib.downloadermiddleware.stats.DownloaderStats': 850,
    'scrapy.contrib.downloadermiddleware.httpcache.HttpCacheMiddleware': 900,
}



猜你喜欢

转载自blog.csdn.net/qq_41191024/article/details/80207497