python - 【新手求救】scrapy:根据xpath爬取爬虫获取的结果为空
黄舟
黄舟 2017-04-17 17:34:45
[Python讨论组]

python新手最近在学习scrapy爬取网站,就先找一个网站爬取一些东西

爬取网站为:http://www.acfun.tv/a/ac2643312

我想爬取的内容为评论,就爬取评论作者reviewer 和 评论内容content

可是我print sites的内容发现为空 []
sites = sel.xpath('//p[@id="area-comment-inner"]/p/p')
出现错误 DEBUG: Crawled (200) <GET http://www.acfun.tv/a/ac2643312> (referer: None)

我想请教下各位 xpath 格式是否正确,该怎么样改,谢谢!
还有请求各位给我一些关于学习Python爬虫在方向和方法上一点指引!谢谢各位!

class AcfunSpider(Spider):
    name = "acfun"
    allowed_domains = ["acfun.tv"]
    start_urls = [
        "http://www.acfun.tv/a/ac2643312"
    ]

    def parse(self, response):

        sel = Selector(response)
        sites = sel.xpath('//p[@id="area-comment-inner"]/p/p')
        print sites
        items = []

        for site in sites:
            item = W3SchoolItem()
            reviewer= site.xpath('p[2]/text()').extract()  
            content= site.xpath('p[1]/a/text()').extract()      

            item['reviewer'] = [r.encode('utf-8') for r in reviewer]
            item['content'] = [c.encode('utf-8') for c in content]
            items.append(item)

            log.msg("Appending item...",level='INFO')

        log.msg("Append done.",level='INFO')
        return items
        
    
    

通过Firefox的xpath checker检验抓取的内容发现xpath也没问题,是正确
的,但是为什么不对呢??

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
大家讲道理

有人回答吗?

大家讲道理

出现错误 DEBUG: Crawled (200) <GET http://www.acfun.tv/a/ac2643312> (referer: None)
这不是错误,是调试信息。。。

伊谢尔伦

评论里面的有些html不规则导致的,往它们的父类找吧,找到一个所有评论html都有的节点,然后用正则匹配取出来吧,18条数据中第一条没有就是那个text()匹配不到,别急着text()就取数据了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号