欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

scrapy框架的入门使用

程序员文章站 2022-05-18 15:06:09
scrapy框架的入门使用 1.首先在命令行下执行mkvirtualenv 用以新建项目的环境 2.在环境下下载scrapy框架执行,在环境下执行pip install scrapy,其中在win1...
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"])