Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy:响应中缺少cookies_Python_Cookies_Scrapy - Fatal编程技术网

Python Scrapy:响应中缺少cookies

Python Scrapy:响应中缺少cookies,python,cookies,scrapy,Python,Cookies,Scrapy,我已经创建了基本的scrapy项目并启用了Cookie中间件,如中所示 设置.py COOKIES_ENABLED = True COOKIES_DEBUG = True DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': 700 } class AmazonSpider(Spider): name = "amazon_spider" start_urls =

我已经创建了基本的scrapy项目并启用了Cookie中间件,如中所示

设置.py

COOKIES_ENABLED = True
COOKIES_DEBUG = True

DOWNLOADER_MIDDLEWARES = {
  'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': 700  
}
class AmazonSpider(Spider):
  name = "amazon_spider"
  start_urls = ['https://sellercentral.amazon.com/gp/sc-redirect']

  def parse(self, response):
      self.logger.info(response.headers.getlist('Set-Cookie'))
spider/amazon_spider.py

COOKIES_ENABLED = True
COOKIES_DEBUG = True

DOWNLOADER_MIDDLEWARES = {
  'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': 700  
}
class AmazonSpider(Spider):
  name = "amazon_spider"
  start_urls = ['https://sellercentral.amazon.com/gp/sc-redirect']

  def parse(self, response):
      self.logger.info(response.headers.getlist('Set-Cookie'))
但是,如果有人要求

COOKIES_ENABLED = True
COOKIES_ENABLED = False
响应与具有的请求相同

COOKIES_ENABLED = True
COOKIES_ENABLED = False
拥有

请启用Cookie以继续

在它的身体里

  • 使用Firefox和Firebug
  • 请求
    GET/gp/sc重定向HTTP/1.1
    主持人:sellercentral.amazon.com
    用户代理:Mozilla/5.0(X11;Linux x86_64;rv:50.0)Gecko/20100101 Firefox/50.0
    接受:text/html、application/xhtml+xml、application/xml;q=0.9,/;q=0.8
    接受语言:en-US,en;q=0.5
    接受编码:gzip,deflate,br
    DNT:1
    连接:保持活动状态
    升级不安全的请求:1
    响应
    找到HTTP/1.1 302
    服务器:服务器
    日期:2017年1月30日星期一16:12:51 GMT
    内容类型:text/html;字符集=UTF-8
    传输编码:分块
    连接:保持活动状态
    位置:https://sellercentral.amazon.com/ap/signin?…
    变化:接受编码,用户代理
    缓存控制:没有缓存,没有存储,必须重新验证
    过期时间:0
    Pragma:没有缓存
    内容编码:gzip
    设置Cookie:session id time=1486368000l;路径=/;域名=.amazon.com;expires=2017年2月6日星期一16:12:51 GMT会话id=160-1127516-9252943;路径=/;域名=.amazon.com;expires=2017年2月6日星期一16:12:51 GMT

  • 使用刮痧
  • 响应
    调试:已爬网(200)https://sellercentral.amazon.com/robots.txt>(参考:无)
    调试:重定向(302)到https://sellercentral.amazon.com/ap/signin?...>从https://sellercentral.amazon.com/gp/sc-redirect/>
    调试:从以下位置接收cookie: 设置Cookie:登录sso状态us=44538bf3-88d0-410b-9aa0-bc8da4b2d090;域名=.amazon.com;Expires=太阳,2037年1月25日16:09:14 GMT;路径=/ap/;保护HttpOnly
    设置Cookie:ap fid=“”;域名=.amazon.com;有效期=1970年1月1日星期四 格林尼治标准时间00:00:10;路径=/ap/;稳妥

    这是完整的和完整的决赛

    为什么设置的Cookie结果不同,以及在这种特殊情况下如何使用Scrapy处理Cookie?

    添加后

    USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0'
    
    对于
    settings.py
    它工作正常,并且没有抱怨禁用的cookie

    新的回应是

    调试:已爬网(200)https://sellercentral.amazon.com/robots.txt>(参考:无)
    从以下位置接收cookie:
    设置Cookie:session id time=1486368000l;路径=/;域名=.amazon.com;expires=2017年2月6日星期一23:14:58 GMT
    设置Cookie:sessionid=167-3010519-3678460;路径=/;域名=.amazon.com;expires=2017年2月6日星期一23:14:58 GMT
    调试:从https://sellercentral.amazon.com/gp/sc redirect/>重定向(302)到https://sellercentral.amazon.com/ap/signin?..>