雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用scrapy框架爬取自己的博文(3)

Posted on 2014-05-05 16:36  huhuuu  阅读(1590)  评论(0)    收藏  举报

  既然如此,何不再抓一抓网页的文字内容呢?

  谷歌浏览器有个审查元素的功能,就是按树的结构查看html的组织形式,如图:

  

这样已经比较明显了,博客的正文内容主要在div 的class = cnblogs_post_body 的字段p中,xpath秒杀搞定的节奏。

sel.xpath('//div[@id= "cnblogs_post_body"]/p/text()').extract()

直接在scrapy框架下运行的话一来慢,二来错了范围太大也不知道哪里的问题,用ipython的shell 命令比较直接!

scrapy shell http://www.cnblogs.com/huhuuu/p/3709336.html

然后会返回一个选择器的实例对象sel,直接对sel处理就可以了。

sel.xpath('//div[@id= "cnblogs_post_body"]/p/text()').extract() 的结果:

看来这个表达式起作用了

然后把它写到自己的spider中运行 ,

有个空格符‘xa0’好像编译器支持的不好,没事,忽略就好

        for data in item['description']:
            strTmp =''
            for i in data:
                if (i != u'\xa0'): #'\xa0'这个字符编译器不能识别,所以处理掉
                    #print i
                    strTmp += i
            print strTmp

再运行,每篇博客的内容都爬取过来了,ok,爬取网页内容的任务完成!