主要四個步驟:
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檔案直接想...