python爬虫--scrapy 框架 之 项目外运行爬虫(用脚本运行爬虫)
2017-03-22 10:55
981 查看
注意:本文不是scrapy入门教程(未来也许会写一套教程 小白入门级的)
传送门1:python 2.7 语法篇
传送门2:scrapy 官方文档1.3
传送门3:XPath 教程
———————————————————
用脚本的方式在项目外启动爬虫
本文以爬取糗事百科上的段子并储存在mysql数据库 为例 项目源码下载 --> GitHub
项目运行需要先安装的模块
->scrapy
->pymysql
->twisted
->VCForPython27 这个不是python包 Windows系统需要安装 点击下载
PS: python安装模块 直接用 命令行 pip install 模块名
目录结构:
spider-master
——Run
————qiushibaike
————qiushibaike
————...........
qiushibaike 文件夹是爬虫项目
其他的就不罗嗦了 源码里我做了详细的注释
下面只贴最主要的一段源码 Run.py
提示:
一、上面的代码只是实现在项目外运行爬虫中的关键一步,另外还有一些细节,比如 爬虫文件(本项目 为 csbk.py 这个文件)导入的模块 路径要相对于Run.py 具体请下载源码自行看注释
二、如果您并不懂怎么写一个爬虫,建议参考文章开头的传送门。当然,本项目内也有少部分注释解释如何写爬虫。
如有不足,还望指出
传送门1:python 2.7 语法篇
传送门2:scrapy 官方文档1.3
传送门3:XPath 教程
———————————————————
用脚本的方式在项目外启动爬虫
本文以爬取糗事百科上的段子并储存在mysql数据库 为例 项目源码下载 --> GitHub
项目运行需要先安装的模块
->scrapy
->pymysql
->twisted
->VCForPython27 这个不是python包 Windows系统需要安装 点击下载
PS: python安装模块 直接用 命令行 pip install 模块名
目录结构:
spider-master
——Run
————qiushibaike
————qiushibaike
————...........
qiushibaike 文件夹是爬虫项目
其他的就不罗嗦了 源码里我做了详细的注释
下面只贴最主要的一段源码 Run.py
#coding:utf-8 import threading #在项目外用脚本启动爬虫 from twisted.internet import reactor from scrapy.crawler import CrawlerRunner import qiushibaike.qiushibaike.items from qiushibaike.qiushibaike.spiders.csbk import Csbk from qiushibaike.qiushibaike.pipelines import QiushibaikePipeline from scrapy.settings import Settings #配置文件在这里手动实现 #下面是官方说法 #Running spiders outside projects it’s not much different. #You have to create a generic Settings object and populate it as needed (See 内置设定参考手册 for the available settings), #instead of using the configuration returned by get_project_settings. #翻译 #运行蜘蛛外项目没有多少不同。 #你必须根据需要创建一个通用设置对象并填充它(见内置设定参考手册可用的设置),而不是使用配置由get_project_settings返回。 def run_csbk(): settings = Settings({ #Spiders can still be referenced by their name if SPIDER_MODULES is set with the modules where Scrapy should look for spiders. #Otherwise, passing the spider class as first argument in the CrawlerRunner. #翻译 #蜘蛛仍然可以引用他们的名字如果SPIDER_MODULES设置模块,Scrapy应该找蜘蛛。 #否则,将蜘蛛CrawlerRunner类作为第一个参数。 'SPIDER_MODULES':['qiushibaike.qiushibaike.spiders.csbk'], 'ROBOTSTXT_OBEY':True, #设置包头 'DEFAULT_REQUEST_HEADERS':{ 'Referer':'http://www.qiushibaike.com/text/', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}, #启用pipelines组件 'ITEM_PIPELINES':{ 'qiushibaike.qiushibaike.pipelines.QiushibaikePipeline': 400,}, 'CONCURRENT_REQUESTS':1, #同时只处理一个请求 'DOWNLOAD_DELAY':2 #每个2秒 下载一个页面 }) runner=CrawlerRunner(settings) d=runner.crawl('Csbk') d.addBoth(lambda _: reactor.stop()) reactor.run() return 0 #下面的代码仅共参考,实际上直接run_csbk() 也可以 def thread_qiushi(): print("--------------") threading.Thread(target=run_csbk()) if __name__ == '__main__': thread_qiushi()
提示:
一、上面的代码只是实现在项目外运行爬虫中的关键一步,另外还有一些细节,比如 爬虫文件(本项目 为 csbk.py 这个文件)导入的模块 路径要相对于Run.py 具体请下载源码自行看注释
二、如果您并不懂怎么写一个爬虫,建议参考文章开头的传送门。当然,本项目内也有少部分注释解释如何写爬虫。
如有不足,还望指出
相关文章推荐
- Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第2章 windows下搭建开发环境
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(1)
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第3章 爬虫基础知识回顾
- Win7 Eclipse 运行 Python Scrapy爬虫项目
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(2)
- 在scrapy框架下创建爬虫项目,创建爬虫文件,运行爬虫文件
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(2)
- 爬虫Scrapy框架项目运行时报错!求解决!
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(1)
- 基础爬虫框架及运行(选自范传辉Python爬虫开发与项目实战)
- Scrapy:Python的爬虫框架
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- Python爬虫框架Scrapy实战之定向批量获取职位招聘信息
- Scrapy:Python的爬虫框架【转摘】
- 零基础写python爬虫之爬虫框架Scrapy安装配置
- python Scrapy 框架做爬虫 ——很好的教程
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- python Scrapy 框架做爬虫 ——入门地图