scrapy框架的入門使用
1.首先在命令列下執行mkvirtualenv <project name>
用以新建專案的環境
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"])