第十六節:Scrapy爬蟲框架之項目建立spider文件數據爬取

Scrapy是一個爲了爬取網站數據,提取結構性數據而編寫的應用框架。 其能夠應用在數據挖掘,信息處理或存儲歷史數據等一系列的程序中。其最初是爲了頁面抓取所設計的, 也能夠應用在獲取API所返回的數據或者通用的網絡爬蟲。json

Scrapy原理圖以下:網絡

一、建立Scrapy項目:進入你須要建立scrapy項目的文件夾下,輸入scrapy startproject BLZX(此處BLZX爲爬蟲項目名稱)框架

項目建立完成後出現一個scrapy框架自動給你生成的爬蟲目錄dom

二、進入建立好的項目當中建立spider爬蟲文件blzxSpider:scrapy

cd BLZXide

scrapy genspider blzxSpider  image.so.com  (其中image.so.com爲爬取數據的連接)網站

到此咱們的scrapy爬蟲項目已經建立完成,目錄以下:url

 

建立好了blzxSpider爬蟲文件後scrapy將會在改文件當中自動生成 以下代碼,咱們就能夠在這個文件當中進行編寫代碼爬取數據了。spa

# -*- coding: utf-8 -*-
import scrapy class BlzxspiderSpider(scrapy.Spider): name = 'blzxSpider' allowed_domains = ['image.so.com'] start_urls = ['http://image.so.com/'] def parse(self, response): pass

三、爬取360圖片玩轉的圖片,此時咱們須要編寫blzxSpiser文件進行爬取360圖片設計

代碼以下

import scrapy import json class BoleSpider(scrapy.Spider): name = 'boleSpider'

    def start_requests(self): url = "https://image.so.com/zj?ch=photography&sn={}&listtype=new&temp=1" page = self.settings.get("MAX_PAGE") for i in range(int(page)+1): yield scrapy.Request(url=url.format(i*30)) def parse(self,response): photo_list = json.loads(response.text) for image in photo_list.get("list"): id = image["id"] url = image["qhimg_url"] title = image["group_title"] thumb = image["qhimg_thumb_url"] print(id,url,title,thumb)

抓取的結果爲

最後,咱們已經將360圖片的信息已經抓取下來了並打印在的控制檯當中。可是咱們須要把數據給下載下來,而且進行存儲,因此在下一節當中會對item.py文件進行講解。

相關文章
相關標籤/搜索