概述
使用Scrapy框架爬取参考消息网“整站”新闻
(其实只是爬取了六大类中的所有新闻,因为其它页面中的url链接有点乱,需要单独处理,这里只是为了练习整站爬虫的思路)
代码逻辑如下:
1. 先从网站导航页面提取分类信息(一级分类和二级分类);
2.然后根据二级分类中的链接跳转到新闻列表页面,爬取每一条新闻的链接
3. 根据新闻条目链接,跳转到新闻详情页,爬取最终需要的信息
遇到的问题及其解决办法:
1.编码问题。在爬取到数据后,拼接文件保存路径时,总是报编码错误(编码很重要)
最后才意识到,因为Scrapy返回的数据经过extract()方法处理为Unicode格式,而PYthon默认格式为UTF-8。
所以,解决办法就是把自己写的字符串解码为Unicode格式,如下:
news_dir=u"{}{}{}{}".format(b_dir,'/'.decode(),news_title,'.txt'.decode())
每一条新闻都有自己所属的分类(一级分类和二级分类),但是它们的路径需要通过方法进行传递。
传递时机,决定了最后的真实保存路径。经过分