在做爬虫项目时,出现了一个问题,解析一个网站二次爬取时没有获取到数据,就写了一个测试程序试了下,测试程序如下

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule

class ZhenaiSpider(CrawlSpider):
    name = 'zhenai'
    allowed_domains = ['www.zhenai.com']
    start_urls = ['http://www.zhenai.com/zhenghun/beijing/1']

rules = (
        Rule(LinkExtractor(allow=r'http://www.zhenai.com/zhenghun/beijing/\d+'), callback='parse_item', follow=False),
    )

def parse_item(self, response):
        a_list = response.xpath('//div[@class="content"]/table//tr/th/a')
        for a in a_list:
            item = {}
            title = a.xpath('./text()').extract_first()
            item['title'] = title
            detail_url = a.xpath('./@href').extract_first()
            yield scrapy.Request(url=detail_url, meta={'item': item}, callback=self.parse_info)

def parse_info(self, response):
        print('ok')
        item = response.meta['item']

yield item

结果无法打印ok字符, 也没有错误日志出现

打开调试模式,发现 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'album.zhenai.com': <GET http://album.zhenai.com/u/109625287>,原来是二次解析的域名被过滤掉了,解决办法

解决办法一:yield scrapy.Request(url=detail_url, meta={'item': item}, callback=self.parse_info, dont_filter=True)

原理:忽略allowed_domains的过滤

解决办法二: 将allowed_domains = ['www.zhenai.com']更改为allowed_domains = ['zhenai.com'] 即更换为对应的一级域名

DEBUG: Filtered offsite request to相关推荐

  1. 爬虫中遇到的问题Crawled (404),[scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to

    1.错误1:url地址有误 Crawled (200) <GET http://www.itcast.cn/robots.txt> (referer: None) DEBUG: Crawl ...

  2. [scrapy] DEBUG: Filtered offsite request to

    [scrapy 常见问题整理] DEBUG: Filtered offsite request to 使用scrapy爬取豆瓣TOP250电影信息在进行自动翻页爬取的时候,出现了一个问题,解析自动翻页 ...

  3. 2018-12-06 18:09:55 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'weixin.so

    2018-12-06 18:09:55 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'weixin.so ...

  4. [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to ‘XXX‘

    一.问题描述 scrapy-redis中使用RedisCrawlSpider类爬虫,以Rule规则来匹配地址,运行爬虫时出现错误: [scrapy.spidermiddlewares.offsite] ...

  5. scrapy运行时提示DEBUG: Filtered offsite request to

    用scrapy爬取数据时,使用yield scrapy.Requeste()不能把数据传到下一个解析函数时,提示Filtered offsite request to [域名] 说明此时你请求的域名l ...

  6. python爬虫学习日记(1) scrapy爬取时,报错Filtered offsite request

    使用scrapy框架抓取某妹子图网时,只能抓取第一页,第二页报错 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request ...

  7. 用scrapy写爬虫 显示 Filtered offsite request to 错误.

    爬电源网公司信息,无法爬取. 查看控制台发现报如下错误: DEBUG: Filtered offsite request to 'product.dianyuan.com': 果断上网百度 ,找到答案 ...

  8. scrapy 爬网站 显示 Filtered offsite request to 错误.

    爬取zol 网站图片,无法抓取. 在 setting.py 文件中 设置 日志 记录等级 LOG_LEVEL= 'DEBUG' LOG_FILE ='log.txt' 查看日志 发现报 2015-11 ...

  9. scrapy 爬网站 显示 Filtered offsite request to 错误

    查看日志 发现报 2018-09-12 00:27:58 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to ' ...

最新文章

  1. fcm和firebase_我如何最终使Netlify Functions,Firebase和GraphQL一起工作
  2. 人生和算法结合起来,你会不会比现在混得好?看完我明白了!
  3. Sublime3 搭建C/C++环境
  4. c++ console 取实时输入_灵活使用 console 让 js 调试更简单
  5. mysql 5.5.46_MySQL 5.5.46源码安装
  6. e-r模型教案高中计算机,《ER模型1》[数据库][计算机]教案.doc
  7. 转:VC中MessageBox的常见用法
  8. 数据可视化:常用图表使用总结
  9. java反应器构型,反应器结构及工作原理现用图解.doc
  10. 通过交互式命令从github拉取项目模板并创建新项目
  11. 【ACL2019】看 NLP 未来发展趋势
  12. You must install libopus-dev
  13. Discuz论坛程序用户如何删除自己的帖子?
  14. 用PHP搞掂黑群晖IPv6的DNSPod解析【7月23日更新,支持v4和v6】
  15. 聚合支付PC端-银联扫码支付
  16. UI设计师如何通过兼职月入过万?
  17. android六边形控件,Android自定义六边形控件
  18. 手机处理器天梯图出炉:第一实至名归,你手机处理器排第几
  19. 单片机——8位数码管循环显示0-7
  20. 读《枪炮,病菌和钢铁》

热门文章

  1. LaTeX 中文字体设置
  2. opencv3与opencv2特性区别,及代码部署上的bug避坑点
  3. Android AOSP VTS环境搭建
  4. 萌新的Arduino大作业
  5. org.apache.axis2.AxisFault: java.lang.Error: Unresolved compilation problem:
  6. mkfs.ext3 快速格式化_学习使用格式化工厂,合并视频,转为MP4等
  7. 360极速浏览器更改划词工具条的搜索为百度搜索
  8. python3周末班2期第3天
  9. 电子商务行业支付解决方案
  10. Dridex样本分析