为什么我变空了#34;消息:"运行Scrapy时记录输出?

时间:2017-08-25 12:44:13

标签: python python-3.x selenium scrapy web-crawler

我的蜘蛛正常运行,我设法控制日志记录,例如这种代码行:

  

logging.info(" MyCrawler构建的URL列表!")

并将消息输出到控制台,例如

  

[root] INFO:MyCrawler构建了URL列表!

当运行蜘蛛时,我得到以下几种消息:

  

2017-08-25 13:40:15 [scrapy.extensions.logstats]信息:已抓获26   页面(2页/分钟),刮0项(0项/分钟)消息:

     

消息:

     

消息:

     

消息:

     

消息:

     

消息:

     

消息:

     

消息:

     

2017-08-25 13:41:12 [scrapy.extensions.logstats] INFO:已抓取42   页数(16页/分钟),刮8项(每分8项)消息:

     

消息:

     

消息:

     

2017-08-25 13:42:05 [scrapy.extensions.logstats] INFO:抓取241   页数(199页/分),刮下214件(每分钟206件)   2017-08-25 13:43:05 [scrapy.extensions.logstats]信息:抓了381   页数(140页/分钟),350件(每分钟136件)   2017-08-25 13:44:05 [scrapy.extensions.logstats]信息:抓取688   页数(每分钟307页),刮下659项(每分钟309件)   2017-08-25 13:45:05 [scrapy.extensions.logstats]信息:抓了995   页数(307页/分),刮掉968件(309件/分)   2017-08-25 13:46:05 [scrapy.extensions.logstats]信息:抓取1370   页数(375页/分),刮掉1340件(每分钟372件)   2017-08-25 13:47:05 [scrapy.extensions.logstats]信息:抓取1676   页面(306页/分钟),刮掉1648件物品(每分钟308件)   2017-08-25 13:48:05 [scrapy.extensions.logstats]信息:抓住1914年   页数(238页/分钟),1886件商品(每分钟238件)   2017-08-25 13:49:05 [scrapy.extensions.logstats]信息:抓取2189   页数(每分钟275页),刮掉2162件物品(每分钟276件)   2017-08-25 13:50:05 [scrapy.extensions.logstats]信息:抓了2430   页数(每分钟241页),刮掉2402件物品(240件/分)   2017-08-25 13:51:05 [scrapy.extensions.logstats]信息:抓取2678   页数(248页/分钟),刮下2651件(每分钟249件)   2017-08-25 13:52:05 [scrapy.extensions.logstats]信息:抓了2952   页数(每分钟274页),刮掉2924件物品(每分钟273件)   消息:

     

2017-08-25 13:53:09 [scrapy.extensions.logstats]信息:已抓获3166   页数(214页/分),刮掉3130件(每分钟206件)   消息:

     

消息:

空行是什么

  

消息:

是什么意思,如何控制它的可见性和内容?

1 个答案:

答案 0 :(得分:0)

与此同时,我发现,以下与Selenium相关的代码负责生成空消息:

while True:
    try:
        loadMoreButton = self.driver.find_element_by_xpath('//*[@id="loadMoreUpcomingPast"]')
        loadMoreButton.click()
        self.driver.implicitly_wait(self.delay) 
    except Exception as e:
        print(e)

这不是最干净的解决方法,但这就是我为摆脱空信息而采取的措施:

while True:
    try:
        loadMoreButton = self.driver.find_element_by_xpath('//*[@id="loadMoreUpcomingPast"]')
        loadMoreButton.click()
        self.driver.implicitly_wait(self.delay) 
    except Exception as e:
        break

我不确定我是否需要异常处理。但是,我并不想冒险打破任何时间进行刮擦过程。