欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Scrapy使用的基本流程與實例講解

 更新時間:2018年10月21日 09:04:43   作者:回憶不說話  
今天小編就為大家分享一篇關(guān)于Scrapy使用的基本流程與實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

前面已經(jīng)介紹過如何創(chuàng)建scrapy的項目,和對項目中的文件功能的基本介紹。

這次,就來談?wù)勈褂玫幕玖鞒蹋?/p>

(1)首先第一點,打開終端,找到自己想要把scrapy工程創(chuàng)建的路徑。這里,我是建立在桌面上的。打開終端,輸入:
cd Desktop 就進(jìn)入了桌面文件存儲位置。

(2)創(chuàng)建scrapy工程。終端輸入:scrapy startproject image

終端輸入:cd image

繼續(xù)輸入:scrapy genspider imageSpider pic.netbian.com

(3)在pycharm中打開剛才桌面的文件,進(jìn)入settings.py設(shè)置爬蟲規(guī)則??梢詫⒁?guī)則直接注釋掉,或者改為False。

(4) 回到爬蟲文件。

更改start_url,將爬蟲默認(rèn)的第一個網(wǎng)址更改為需要爬取的網(wǎng)站網(wǎng)址即可。

(5)下面就可以爬取數(shù)據(jù)了,這里選擇了下載圖片。

爬取完數(shù)據(jù)之后,要在存儲數(shù)據(jù)的items.py文件中傳輸給管道

接下來在爬蟲文件中引入管道模型。

from ..items import ImageItem

在爬蟲文件中的parse函數(shù)中使用在items.py文件中創(chuàng)建的數(shù)據(jù)模型。

item = ImageItem()

注意點:

有時候在終端輸出的時候,如果返回內(nèi)容是scrapy.selector ,如果對象類型是scrapy.selector,那么這個對象可以被繼續(xù)迭代,也可以用xpath繼續(xù)尋找里面的內(nèi)容。

如果終端遇到這個問題:

# ValueError:Missing scheme in request url:h

那么就需要使用extract()將xpath對象轉(zhuǎn)化成列表對象。而列表對象,可以繼續(xù)被迭代,但是不可以使用xpath來尋找里面的對象。

在下載之前還需要在settings.py文件中,對圖片下載的路徑和存儲位置進(jìn)行設(shè)置。

下面附代碼如下。僅有爬蟲文件的代碼:

# -*- coding: utf-8 -*-
import scrapy
from ..items import ImageItem
class ImagespiderSpider(scrapy.Spider):
  name = 'imageSpider'
  allowed_domains = ['pic.netbian.com']
  start_urls = ['http://pic.netbian.com/4kmeinv/']
 
  def parse(self, response):
    img_list = response.xpath('//ul[@class="clearfix"]/li/a/img/@src')
    # 找到了很多src屬性值,現(xiàn)在進(jìn)行遍歷,分別使用每一個
    for img in img_list:
      # 使用在items.py中創(chuàng)建的數(shù)據(jù)模型item
      item = ImageItem()
      print('--------------------')
      img = img.extract()
      # 拼接圖片的url,得到完整的下載地址
      src = 'http://pic.netbian.com' +img
      # 將得到的數(shù)據(jù)放入到模型中
      # 因為是下載地址,所以要用列表包起來,否則會報錯。
      item['src'] = [src]
      yield item
    next_url = response.xpath('//div[@class="page"]/a[text()="下一頁"]/@href').extract()
    print('*****************************************************************')
    if len(next_url)!=0:
      url = 'http://pic.netbian.com'+next_url[0]
      # 將url傳給scrapy.Request 得到的結(jié)果繼續(xù)用self.parse進(jìn)行處理
      yield scrapy.Request(url=url,callback=self.parse)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • python實現(xiàn)圖片變亮或者變暗的方法

    python實現(xiàn)圖片變亮或者變暗的方法

    這篇文章主要介紹了python實現(xiàn)圖片變亮或者變暗的方法,涉及Python中Image模塊操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python整數(shù)對象實現(xiàn)原理詳解

    Python整數(shù)對象實現(xiàn)原理詳解

    這篇文章主要介紹了Python整數(shù)對象實現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 詳解appium+python 啟動一個app步驟

    詳解appium+python 啟動一個app步驟

    這篇文章主要介紹了詳解appium+python 啟動一個app步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 由Python運算π的值深入Python中科學(xué)計算的實現(xiàn)

    由Python運算π的值深入Python中科學(xué)計算的實現(xiàn)

    這篇文章主要介紹了由Python運算π的值深入Python中科學(xué)計算的實現(xiàn),由簡單的計算發(fā)散出各種算法的講解,需要的朋友可以參考下
    2015-04-04
  • python操作字典類型的常用方法(推薦)

    python操作字典類型的常用方法(推薦)

    下面小編就為大家?guī)硪黄猵ython操作字典類型的常用方法(推薦)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • python使用ctypes庫調(diào)用DLL動態(tài)鏈接庫

    python使用ctypes庫調(diào)用DLL動態(tài)鏈接庫

    這篇文章主要介紹了python如何使用ctypes庫調(diào)用DLL動態(tài)鏈接庫,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Python制作表白愛心合集

    Python制作表白愛心合集

    這篇文章主要介紹了幾個表白小項目合集,有愛心表白、愛心樹等。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的價值,需要的可以參考一下
    2022-01-01
  • Django框架文件上傳與自定義圖片上傳路徑、上傳文件名操作分析

    Django框架文件上傳與自定義圖片上傳路徑、上傳文件名操作分析

    這篇文章主要介紹了Django框架文件上傳與自定義圖片上傳路徑、上傳文件名操作,結(jié)合實例形式分析了Django框架文件上傳的原理、步驟、實現(xiàn)方法以及圖片上傳時自定義上傳路徑、上傳文件名的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Python異步之迭代器如何使用詳解

    Python異步之迭代器如何使用詳解

    這篇文章主要為大家介紹了Python異步之迭代器如何使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例

    Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例

    這篇文章主要介紹了Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論