既然如此,何不再抓一抓网页的文字内容呢?
谷歌浏览器有个审查元素的功能,就是按树的结构查看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,爬取网页内容的任务完成!