建立爬蟲專案

2021-08-09 08:38:32 字數 2433 閱讀 9747

主要四個步驟:

1.執行scrapy startproject project_name 建立專案框架

執行 scrapy genspider spider_name 'domain.com'建立爬蟲基本格式檔案;

2.編輯items/item.py檔案明確獲取的資料字段;

3.編寫spiders/目錄下的爬蟲程式;

4.編寫儲存資料的pipelines.py檔案,注開啟setting.py檔案的item_pipelines配置;

最後,爬取:

scrapy crawl spider_name

注意:setting.py 檔案設定

robotstxt_obey = false #不遵從robot協議

以下抓取鬥魚api資料為例子:

items.py檔案:

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

# define here the models for your scraped items

## see documentation in:

# import scrapy

class douyuitem(scrapy.item):

# define the fields for your item here like:

# name = scrapy.field()

nickname = scrapy.field()

link = scrapy.field()

douyu_spider.py檔案:

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

import scrapy

import json

from douyu.items import douyuitem

class douyuspiderspider(scrapy.spider):

#定義爬蟲名稱

name = 'douyu_spider'

#允許的網域名稱,可省

allowed_domains = ['douyucdn.cn']

#組裝url

base_url = ''

offset = 0

#開始爬取的urls

start_urls = [base_url+str(offset)]

#解析函式

def parse(self, response):

# response.body 為二進位制編碼,需轉為utf-8

results = json.loads(response.body.decode('utf-8'))['data']

if len(results) == 0:

print('crawing over ! spider stop!')

exit()

for li in results:

item = douyuitem()

# print(li['nickname'])

# print(li['room_src'])

# print('#'*30)

item['nickname'] = li['nickname']

item['link'] = li['room_src']

#yield 給pipelines

yield item

self.offset += 20

href = self.base_url + str(self.offset)

yield scrapy.request(href,callback=self.parse)

imagepipelines.py檔案:

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

# define your item pipelines here

## don't forget to add your pipeline to the item_pipelines setting

# see:

import scrapy

import os

from scrapy.pipelines.images import imagespipeline

#匯入setting.py檔案的常量

from scrapy.utils.project import get_project_settings

class imagepipeline(imagespipeline):

def get_media_requests(self, item, info):

#注意此次 yield

yield scrapy.request(item['link'])

def item_completed(self, results, item, info):

'''results的資料格式:

[(true,

Scrapy建立爬蟲專案步驟

1.開啟cmd命令列工具,輸入 scrapy startproject 專案名稱 2.使用pycharm開啟專案,檢視專案目錄 3.建立爬蟲,開啟cmd,cd命令進入到爬蟲專案資料夾,輸入 scrapy genspider 爬蟲檔名 爬蟲基礎網域名稱 4.開啟pycharm,發現 spider 目錄...

爬蟲 建立scrapy框架的專案

進入命令管理器 通過命令scrapy startproject spider3 進入spider3專案中 執行scrapy genspider university qianmu.org scrapy genspider 爬蟲的名字name 爬蟲的網域名稱 通過pycharm軟體匯入此專案 scra...

scrapy爬蟲初始專案流程(親測最快建立專案)

安裝好pyhon3.7以上版本 anaconda3 建議 建立scrapy爬蟲首先需要pip install scrapy 如果需要資料庫插入就pip install 模組名 指定版本 不寫指定版本就按預設版本安裝,一般不用配合其它模組使用90 都沒有問題,要不就是用法不一樣。自定義bat檔案直接想...