最近一个项目需要做spider。就开始找资料,分析几个工具后,得到最成熟稳定的应该首推Scrapy。 第一次使用Scrapy,写篇文章记录一下。
Scrapy的安装我就不复述了。网上一大把的资料。安装好环境后,就开始以下工作了。
大概操作步骤如下:创建项目
创建spider
确定要获取的字段
确定正则匹配的字段
保存入库
创建项目
scrapy startproject projectName【项目名】cd projectName
在命令行中进行以上操作。
创建spider
事先把要获取的网址准备好 eg:
scrapy genspider spiderName 'https://segmentfault.com'
生成成功后,会在spider目录下生成一个名叫:spiderName.py文件。获取规则就需要书写在这里面。
确定要获取的字段
在item.py里面,定义好要获取的字段,例如我需要获取sf.gg的网站标题和首页内容。就需要定义两个字段,title,content。想获取的信息越细越好
class articleItem(Scrapy.Item): # 获取网站标题 title = Scrapy.Field() # 获取网站内容 content = Scrpay.Field()
确定正则匹配字段内容
要注册获取数据的内容是本身在HTML里面的,还是ajax获取渲染的,如果是ajax渲染的数据,使用传统的获取不到数据。
这里是为了测试匹配数据的,需要掌握的知识点为xpath获取办法和css选择器获取办法。其中css类似jquery的选择器。scrapy shell 'https://segmentfault.com'
确定入库
保存形式有多种,json或数据库
最好的学习资料,永远都是代码+说明文档: