Scrapy日志显示页面已爬网,但找到0个对象。当使用刮板外壳完成工作时,但是当我导出结果时会发生这种情况

时间:2019-01-09 12:01:31

标签: python scrapy

我在抓取this时以不同的方式抓取了该链接,但在抓取项目中执行此操作后,一切都将无效。

这是我的蜘蛛文件代码:

import scrapy
from pubg.items import MemberItem
from scrapy.loader import ItemLoader
from scrapy.loader.processors import TakeFirst

class Pubg_spider(scrapy.Spider):
    name="pubgspider"
    start_urls = ["https://forums.pubg.com/leaderboard/"]

    def parse(self, response):

        job_list =response.css('div.row')

        for job in job_list:
            job_loader = ItemLoader(MemberItem(), selector=job)
            job_loader.default_output_processor=TakeFirst()
            job_loader.add_css('Upload_Date','time::text')
            job_loader.add_css('Source','.ipsType_reset.ipsStreamItem_title.ipsContained.ipsType_break > a::attr(href)')
            job_loader.add_css('Headline','.ipsType_reset.ipsStreamItem_title.ipsContained.ipsType_break > a::text')
            job_loader.add_css('Content','.ipsType_richText.ipsContained.ipsType_medium > div > div::text')
            job_loader.add_css('Vote','.cPopularItem_stats.ipsType_center::text')
            yield job_loader.load_item()

我的管道文件如下所示:

class PubgPipeline(object):
def process_item(self, item, spider):
    try:
        item['Upload_Date']
    except KeyError:
        item['Upload_Date'] = 'N/A'
    try:
        item['Source']
    except KeyError:
        item['Source'] = 'N/A'
    try:
        item['Headline']
    except KeyError:
        item['Headline'] = 'N/A'
    try:
        item['Content']
        item['Content']=''.join(c for c in item['Content'] if c not in '\r\t\n')
    except KeyError:
        item['Content'] = 'N/A'
    try:
        item['Vote']
        item['Vote']=''.join(c for c in item['Vote'] if c not in '\r\t\n')
    except KeyError:
        item['Vote'] = 'N/A'
    return item

我在scrapy和stackoverflow方面都是新手,所以请提任何错误。

1 个答案:

答案 0 :(得分:0)

您可以使用Spider方法中的self.logger.debug(<string or variable>),或蜘蛛管线方法中的spider.logger.debug()

有关更多信息,请参见Debugging Spiders