2016-08-12 49 views
0

这里是我的蜘蛛:scrapy:为什么没有用parse_item功能

import scrapy 
 
import urlparse 
 
from scrapy.http import Request 
 

 
class BasicSpider(scrapy.Spider): 
 
    name = "basic2" 
 
    allowed_domains = ["cnblogs"] 
 
    start_urls = (
 
     'http://www.cnblogs.com/kylinlin/', 
 
    ) 
 

 
    def parse(self, response): 
 
     next_site = response.xpath(".//*[@id='nav_next_page']/a/@href") 
 
     for url in next_site.extract(): 
 
      yield Request(urlparse.urljoin(response.url,url)) 
 
     
 
     item_selector = response.xpath(".//*[@class='postTitle']/a/@href") 
 
     for url in item_selector.extract(): 
 
      yield Request(url=urlparse.urljoin(response.url, url), 
 
          callback=self.parse_item) 
 
    
 
    def parse_item(self, response): 
 
     print "+=====================>>test"

这里是输出: 2016年8月12日14时46分二十〇秒[scrapy] INFO :蜘蛛打开
2016-08-12 14:46:20 [scrapy]信息:已检索0页(在0页/分钟),刮0项(在0项/分钟)
2016-08-12 14: 46:20 [scrapy] DEBUG:Telnet控制台正在监听
127.0.0.1:6023 2016-08-12 14:46:20 [scrapy] DEBUG:Crawled(200)http://www.cnblogs.com/robots.txt>(referer:无)
2016-08-12 14:46: 20 [scrapy] DEBUG:Crawled(200)http://www.cnblogs.com/kylinlin/>(referer:无)
2016-08-12 14:46:20 [scrapy] DEBUG:过滤异地请求到' www.cnblogs.com':http://www.cnblogs.com/kylinlin/default.html?page=2>
2016-08-12 14:46:20 [scrapy]信息:关闭蜘蛛(完成)
2016年8月12日十四时46分20秒[scrapy] INFO:倾倒Scrapy统计:
{ '下载/ request_bytes':445,
'下载/ REQUEST_COUNT':2,
'下载/ request_method_count/GET' :2,
'下载/ response_bytes':5113,
'下载/ response_count':2,
'下载/ response_status_count/200':2,
'finish_reason': '完成',
'finish_time':datetime.datetime (2016,8,12,6,46,20,420000),
'log_count/DEBUG':4,
'log_count/INFO':7,
'异地/域':1,
“异地/ filtered':11,
'request_depth_max':1,0
'response_received_count':2,
'sc heduler /出列':1,
'调度器/出列/存储器':1,
'调度器/排队':1,
'调度器/入队/存储器':1,
'START_TIME':datetime.datetime (2016,8,12,6,46,20,131000)}
2016年8月12日14时46分20秒[scrapy] INFO:蜘蛛闭合(成品)

为什么抓取网页是0? 我不明白为什么没有输出像“+ =====================”测试“。 有人可以帮我吗?

回答

0
2016-08-12 14:46:20 [scrapy] DEBUG: Filtered offsite request to 'www.cnblogs.com': http://www.cnblogs.com/kylinlin/default.html?page=2> 

和你的设置为:

allowed_domains = ["cnblogs"] 

这甚至不是一个域。它应该是:

allowed_domains = ["cnblogs.com"] 
+0

非常感谢你 –

相关问题