对scrapy框架的学习也有了一段时间,所以准备爬取一些网站的信息来检测一下scrapy的学习成果。由浅入深,从较规律的网站开始爬取,再爬取不规则的网站,以及ajax动态页面。
今天先从较简单的CSDN的python论坛爬取,之所以说这个比较简单是因为CSDN的论坛不是动态的页面,而且网站的url非常有规律可询,并不需要使用selenium模拟或者抽取下一页的网址。因此这里可以偷懒直接请求每一页的url。
代码思路:1.因为论坛的url非常有规律,https://bbs.csdn.net/forums/OL_Script/closed?page=1,网站不同的页数都是由page来决定的,这样我们就可以直接生成每一页的url然后依次请求。2.通过生成的网址请求每一页,并从每一页的代码中抽取出问题对应的url。3.依次请求抽取出来的url,也就是问题的详情页面,通过xpath或css选择器抽取出来我们想要的数据。4.将爬取到的数据保存到sqlite(MySQL)数据库。
一.创建项目
scrapy startproject CSDNforum
创建一个名称为CSDNforum的项目
scrapy gensoider csdn_forum "https://bbs.csdn.net/forums/OL_Script/closed?page=1"
在项目的spiders文件中创建一个csdn_forum.py的文件,实现爬虫的主要的数据抽取的功能