scrapy框架的入门使用
1.首先在命令行下执行mkvirtualenv 用以新建项目的环境
2.在环境下下载scrapy框架执行,在环境下执行pip install scrapy,其中在win10环境下安装会报错,会出现twisted安装出错的提示。因此要在安装scrapy前安装好相应版本的twisted包点击下载。安装好twisted包后,再安装scrapy就不会运行出错了!
3.因为在pycharm中没有新建scrapy项目的能力,所以要在你想建立项目的地方,在此环境下利用命令行建立新的项目,代码是scrapy startproject <项目名> 。
4.首先确定需要爬取得目标字段,在item.py文件中使用name = scrapy.field()
5.在项目的spider文件夹下面新建爬虫的py文件,使用代码scrapy genspider <项目名> <目标网址>,此时就可以开始写爬虫的逻辑了,正则匹配/xpth等逻辑就在此.py文件中书写
注:爬虫名不可以跟项目名字重复
6.如何运行爬虫呢?用到这个命令scrapy crawl <爬虫名>,运行时会报importerror: no module named 'win32api',其实就是win32api这个包没有,安装即可,但是要这么安装pip install pywin32,完事后上面的scrapy crawl <爬虫名>就可以运行了。
7.可是运行完之后又会报403的错误,具体如下
2018-09-19 20:36:23 [scrapy.spidermiddlewares.httperror] info: ignoring response <403 https://movie.douban.com/top250>: http status code is not handled or not allowed
,这个是豆瓣的反爬虫机制的原因,这里要对setting.py文件中的user_agent进行修改。点开网址豆瓣top250,f12然后找到user_agent复制到setting中。
8.另外一种运行爬虫的方法就是在项目中建立.main文件
from scrapy.cmdline import execute
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(["scrapy", "crawl", "douban_spider"])