Scrapy之Request函数回调未执行 Filtered offsite request to 'XXX'
在爬取免费代理ip室发现,第一页爬取之后后续的多页爬取没有被解析。在查看调试信息时发现显示 Filtered offsite request to 'www.kuaidaili.com',经网上查找先关问题解决方案,发现为域名爬取限制,即allowed_domains = ['www.kuaidaili.com/']字段。
解决方法:1.在allowed_domains中加入 url
2.直接将allowed_domains = [],即不做限制
3.将scrapy.Request(url=url, callback=self.parse,dont_filter=True),中的dont_filter设置为True。
import scrapy
from freeIP_spider.items import FreeipSpiderItem class FreeipSpider(scrapy.Spider):
name = 'freeip'
#allowed_domains = ['www.kuaidaili.com/']
allowed_domains =[]
start_urls = ['http://www.kuaidaili.com/free/inha/1//'] # 爬取多页
url = 'http://www.kuaidaili.com/free/inha/{}/'
page = 1 def parse(self, response):
#实例化数据结构
item= FreeipSpiderItem() tr= response.xpath('//table//tbody/tr')
#print('=====================',len(tr))
for td in tr:
item['ip']= td.xpath('./td[1]/text()').extract_first()
item['port']= td.xpath('./td[2]/text()').extract_first()
item['ip_type']= td.xpath('./td[4]/text()').extract_first()
# print('=====================')
# print(item)
# print('=====================') yield item # 爬取多页
if self.page < 5:
self.page+=1
url = self.url.format(self.page)
#yield scrapy.Request(url=url, callback=self.parse,dont_filter=True)
yield scrapy.Request(url=url, callback=self.parse)
Scrapy之Request函数回调未执行 Filtered offsite request to 'XXX'的更多相关文章
- scrapy-yield scrapy.Request()不执行、失效、Filtered offsite request to错误 [转]
scrapy错误:yield scrapy.Request()不执行.失效.Filtered offsite request to错误.首先我们在Request()方法里面添加这么一个东东: yiel ...
- scrapy 爬网站 显示 Filtered offsite request to 错误
爬取zol 网站图片,无法抓取. 在 setting.py 文件中 设置 日志 记录等级 LOG_LEVEL= 'DEBUG' LOG_FILE ='log.txt' 查看日志 发现报 2015-11 ...
- 报错 Filtered offsite request
用scrapy框架迭代爬取时报错 scrapy日志: 在 setting.py 文件中 设置 日志 记录等级 LOG_LEVEL= 'DEBUG' LOG_FILE ='log.txt' 观察 scr ...
- 问题[scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to...
原因是二次解析的域名被过滤掉了, 解决办法 解决办法一: yield scrapy.Request(url=detail_url, meta={'item': item}, callback=self ...
- Scrapy - Request 中的回调函数callback不执行
回调函数callback不执行 大概率是被过滤了 两种方法: 在 allowed_domains 中加入目标url 在 scrapy.Request() 函数中将参数 dont_filter=True ...
- DLL与EXE之间的通讯调用 以及 回调函数的线程执行空间
dll 与 exe 之间的通讯方式有很多种, 本文采用回调函数的方法实现, 本文也将研究多线程,多模块的情况下,回调函数所在的线程, 啥也不说了,先附上代码: 下面的是dll模块的的, dll的工程文 ...
- vue组件中—bus总线事件回调函数多次执行的问题
在利用vue组件进行事件监听时发现,如果对N个vue组件实例的bus总线绑定同一事件的回调函数,触发任意组件的对应事件,回调函数至少会被执行N次,这是为什么呢? 为此,调研了普通对象的事件绑定和触发实 ...
- ajax.request函数使用详解
Ajax.Request ? Ajax.Request( url, { method:method, parameters:para, postBody:xmlString, asynchrono ...
- TinScrapy-简化的Scrapy原码-查看爬虫的执行流程
学习了自定义的TinyScrapy框架,整理出以下定注释的代码 from twisted.web.client import getPage,defer from twisted.internet i ...
- 【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.改变动作执行对象 CCTargetedAct ...
随机推荐
- 内网安全之:MS14-068 Kerberos 域用户提权漏洞
内网安全之:MS14-068 Kerberos 域用户提权漏洞 目录 内网安全之:MS14-068 Kerberos 域用户提权漏洞 0 漏洞说明 (MS14-068:CVE-2014-6324) 1 ...
- word、excel、pdf等多种格式在线预览
第一种方式: 具体功能说明: http://view.xdocin.com/index.html 调用案例: <a href="http://www.xdocin.com/xdoc?_ ...
- 嵌入式Linux—输入子系统
输入系统 常见的输入设备有键盘.鼠标.遥控杆.书写板.触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换. 内核中怎样表示一个输入设备 // include/linux/input.h st ...
- odoo Web Controllers 学习总结
环境 odoo-14.0.post20221212.tar Web Controllers Controllers 控制器需要提供可扩展性,就像Model,但不能使用相同的机制,因为先决条件(已加载模 ...
- IIS部署WGCMS
一.下载所需的微软程序文件 安装插件:下载后直接安装就可以了,没有什么好说的. 安装1:点击下载 安装2:点击下载 二.在IIS上添加应用程序池 打开IIS,按照图片所示:在"应用程序池&q ...
- ShareWAF 软件&云形态安装部署说明
一.常用文件说明sharewaf.js:主程序daemon.js:主程序守护程序oem.js:OEM 定制文件developer.js:二次开发接口rules.js:自定义规则文件regexp.js: ...
- Deer_GF之图片
Hi,今天介绍一下Deer_Gf里的图片组件. 框架介绍请移步[Deer_GF之框架介绍] 接下来为大家介绍一下框架里用到的图片组件及加载流程. 目录 大图(Texture)存 ...
- CSS:布局篇_用flex布局实现两边顶宽中间自适应(圣杯布局&双飞翼布局)
CSS:布局篇_用flex布局实现两边顶宽中间自适应(圣杯布局&双飞翼布局) <!DOCTYPE html> <html> <head> <title ...
- Hanlp 在Python环境中安装、介绍及使用
Hanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. 功能:中文分词 词性标 ...
- 新的学习历程-python1 Hello World
1 print('hello world!') 2 if 2 > 0: 3 print('ok') 4 print('yes') 5 6 x = 3; y = 4 7 print(x + y) ...