建议参照目录大纲,即笔记第一篇来了解大致路线后进行博客查阅。每大章的分支都十分清楚。
2.爬取数据实战
引言:第一章已经总结了python虚拟环境的创建以及一些爬虫所需要的基础知识
这一章爬取静态网站与动态网站
2.1基础操作,新建虚拟环境,同时创建爬虫
1.首先我们按照第一章所讲的,新建虚拟环境,安装依赖
mkvirtualenv ScrapyDemo pip install -i https://pypi.douban.com/simple scrapy
这个时候需要注意,我使用的IDE是pycharm,是没有scrapy工程可以创建的,所以我们需要自己在Cmd中创建项目。
这里是使用了默认模板
scrapy startproject MyScrapyProject(该名称为工程名)
此时工程就创建成功了
IDE找到对应路径导入工程
![]()
scrapy.cfg:配置文件
setting.py:包含工程的配置,包括了存放spiders的配置,中间件的使用,pipelines的使用
pipelines.py:数据存储相关的使用
middlewares.py:中间件,可以存放自己定制的中间件,使得我们的scrapy更好用
items.py:用于数据处理
2.创建爬虫
cd进入工程文件目录 scrapy genspider 爬虫文件名 域名或者IP地址 这样就在工程下创建好了爬虫,刷新IDE,可以发现在spider文件目录下已经出现了创建的爬虫文件
![]()
这就是我们爬虫的文件内容。
start_urls = [] 里面放着我们最开始的url,scrapy会将这个list中的url进行操作
首先可以看到 start_requests(self):中最后将start_urls中的url进行遍历
然后yield到make_requests_from_url函数中。
Request被scrapy下载器下载后最后会将一个Reponse传递到爬虫文件中的parse函数
所以我们所有的操作都放在爬虫文件中的parse函数中操作就OK了
执行爬虫文件的操作
scrapy crawl 爬虫文件名(无后缀)
为了方便调试我们使用代码来执行爬虫文件
创建一个Main文件from scrapy.cmdline import execute import sys import os sys.path.append(os.path.dirname(os.path.abspath(__file__))) execute(["scrapy","crawl","wenshu"])
os.path.dirname(os.path.abspath(file):得到当前文件的绝对路径
os.path.dirname(路径):得到父目录
这样就可以使用Mian文件进行启动爬虫了。
之后方便打断点进行调试
启动时候缺少什么包直接用pip命令安装就好了
笔记一到十链接
http://blog.csdn.net/sx_csu2016sw/article/details/79284369
http://blog.csdn.net/sx_csu2016sw/article/details/79284427
http://blog.csdn.net/sx_csu2016sw/article/details/79284449
http://blog.csdn.net/sx_csu2016sw/article/details/79284469
http://blog.csdn.net/sx_csu2016sw/article/details/79284481
http://blog.csdn.net/sx_csu2016sw/article/details/79284491
http://blog.csdn.net/sx_csu2016sw/article/details/79284509
http://blog.csdn.net/sx_csu2016sw/article/details/79284525
http://blog.csdn.net/sx_csu2016sw/article/details/79284547
http://blog.csdn.net/sx_csu2016sw/article/details/79284567