| 关键词:scrapy 蜘蛛 文件 爬虫 页面 链接 方法 项目 myspider |
![]() 首先你要具备以下能力: #有一定的python基础和编程思想, #具有一定的liunx系统管理基础 #掌握基本数据库操作,增删改查等, #了解html,css,js相关方面的知识 建议使用Pycharm开发工具,方便调试 下面我们开始写爬虫程序 1、创建一个scrapy项目 在D:\myprogram\python\demo目录下,打开命令行,输入以下命令,创建一个scrapy项目 scrapy startproject minespider scrapy startproject是创建scrapy项目的固定格式,后面的minespider是你要创建的项目名称,可根据你的需求来取名,最好做到见名知意。 下面是项目创建成功后的截图 ![]() 下面我们来看一下用命令行创建的项目目录结构 ![]() 2、创建scrapy蜘蛛文件 在我们第一步创建的scrapy项目中,将要创建的蜘蛛文件放在spiders文件夹下,不要问问什么,固定格式 ![]() 可以使用pycharm创建scrapy蜘蛛爬虫python文件,现在我们创建一个名为mine_spider.py的蜘蛛文件,创建方法如下所示: ![]() ![]() 文件创建成功后,我们就可以在这个蜘蛛文件中爬虫我们想要的网站内容了,目录结构如下所示: ![]() 注:编写蜘蛛文件需要遵守scrapy的规则 A:首先我们需要创建一个类,并继承scrapy的一个子类:scrapy.Spider 或者是其他蜘蛛类型;B:然后定义一个蜘蛛名,name=“” 后面我们运行的话需要用到;C:定义我们需要爬取的网址;D:继承scrapy的一个方法:start_requests(self),这个方法的作用就是通过上面定义的链接去爬取页面,简单理解就是下载页面。 下面是一个简单的例子,告诉大家scrapy爬虫的流程 (1)、定义链接; (2)、通过链接爬取(下载)页面; (3)、定义规则,然后提取数据; import scrapy class minespider(scrapy.Spider): #需要继承scrapy.Spider类 name = "myspider" # 定义蜘蛛名 def start_requests(self): # 由此方法通过下面链接爬取页面 # 定义爬取的链接 urls = [ http://lab.scrapyd.cn/page/1/, http://lab.scrapyd.cn/page/2/, ] for url in urls: yield scrapy.Request(url=url, callback=self.parse) #爬取到的页面如何处理?提交给parse方法处理 def parse(self, response): #在该方法中,可以提取start_requests已经爬取到的页面内容,可以用xpath、正则、或是css进行相应内容提取。 page = response.url.split("/")[-2] #根据上面的链接提取分页,如:/page/1/,提取到的就是:1 filename = myspider-%s.html % page #拼接文件名,如果是第一页,最终文件名便是:myspider-1.html with open(filename, wb) as f:f.write(response.body) #将下载下来的页面存放到python文件中 3、运行myspider这个蜘蛛文件,命令如下: scrapy crawl myspider 以上就是scrapy爬虫的具体操作流程,这个例子在有的机子上会报错,不过,这只是个告诉大家scrapy是如何进行网页爬取的demo,大家理解它的工作原理即可。 |
| 本文出处: https://mbd.baidu.com/newspage/data/landingsuper?context={ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|