python爬蟲scrapy框架

2021-08-20 09:55:20 字數 2854 閱讀 6807

安裝:pip install scrapy

startproject:建立乙個新專案

genspider:根據模板生成乙個新爬蟲

crawl:執行爬蟲

shell:啟動互動式抓取控制台

進入專案目錄

scrapy startproject crawlertest(project name)

cd crawlertest

會生成如下檔案:

items.py:定義了待抓取域的模型

settings.py:定義了一些設定,如使用者**,抓取延時等等

spiders/:該目錄儲存實際的爬蟲**

專案配置scrapy.cfg和處理要抓取的域pipelines.py,在這裡無須修改

1.items.py修改如下

import scrapy

class

crawlertestitem

(scrapy.item):

# define the fields for your item here like:

#想要爬取的字段name

name = scrapy.field

() #想要爬取的字段population

population=scrapy.field

() pass

建立爬蟲

通過genspider命令,傳入爬蟲名,網域名稱,可選模板引數來生成初始模板。

命令如下:

scrapy genspider country crawlertest.webscraping.com –template=crawl

country:爬蟲名

在crawlertest/spiders/country.py中自動生成如下**:

# -*- coding: utf-8 -*-

import scrapy

from scrapy.linkextractors import linkextractor

from scrapy.spiders import crawlspider, rule

class

countryspider

(crawlspider):

#爬蟲名

name = 'country'

#可以爬取的網域名稱列表

allowed_domains = ['crawlertest.webscraping.com']

#爬蟲起始url列表

start_urls = ['']

#正規表示式集合

)#從響應中獲取資料

return item

儲存至乙個csv檔案中:

scrapy crawl country –output=countries.csv -s log_level=info

中斷與恢復爬蟲

scrapy crawl country -s log_level=debug -s jobdir=crawls/country

儲存目錄:crawls/country

之後可以執行同樣的命令恢復爬蟲執行(主要適用於爬取大型**)

Python爬蟲學習(七)Scrapy爬蟲框架詳解

engine從spider處獲得爬取請求 request engine將爬取請求 給scheduler,用於排程 engine從scheduler處獲得下乙個要爬取的請求 engine將爬取請求通過中介軟體傳送給 爬取網頁後,形成響應 response 通過中介軟體發給engine engine將收...

Mac python 搭建scrapy爬蟲框架

1 在mac上安裝好python3,以及相關元件 2 進入python3的虛擬環境 workon env3.7 3 安裝scrapy pip install scrapy 4 建立乙個scrapy專案 4.1選擇路徑專案路徑 cd users panstark pycharmprojects 4.2...

Python爬蟲 scrapy框架

開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...