91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-06 10:20:42 來源:腳本之家 閱讀:213 作者:回憶不說話 欄目:開發技術

前面已經介紹過如何創建scrapy的項目,和對項目中的文件功能的基本介紹。

這次,就來談談使用的基本流程:

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

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

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

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

終端輸入:cd image

繼續輸入:scrapy genspider imageSpider pic.netbian.com

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

(3)在pycharm中打開剛才桌面的文件,進入settings.py設置爬蟲規則。可以將規則直接注釋掉,或者改為False

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

(4) 回到爬蟲文件。

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

更改start_url,將爬蟲默認的第一個網址更改為需要爬取的網站網址即可。

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

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

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

from ..items import ImageItem

在爬蟲文件中的parse函數中使用在items.py文件中創建的數據模型。

item = ImageItem()

注意點:

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

如果終端遇到這個問題:

# ValueError:Missing scheme in request url:h

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

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

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

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

# -*- 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屬性值,現在進行遍歷,分別使用每一個
    for img in img_list:
      # 使用在items.py中創建的數據模型item
      item = ImageItem()
      print('--------------------')
      img = img.extract()
      # 拼接圖片的url,得到完整的下載地址
      src = 'http://pic.netbian.com' +img
      # 將得到的數據放入到模型中
      # 因為是下載地址,所以要用列表包起來,否則會報錯。
      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 得到的結果繼續用self.parse進行處理
      yield scrapy.Request(url=url,callback=self.parse)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇川县| 宽城| 荔波县| 临猗县| 西吉县| 新竹市| 远安县| 修文县| 曲麻莱县| 石首市| 临颍县| 黄山市| 漳浦县| 张家界市| 广水市| 甘谷县| 东光县| 新绛县| 通江县| 息烽县| 河北省| 井冈山市| 喀什市| 朝阳区| 无为县| 陇西县| 新闻| 海城市| 古蔺县| 锡林郭勒盟| 怀远县| 锡林浩特市| 凤城市| 肃南| 分宜县| 普宁市| 鄂尔多斯市| 崇文区| 民县| 莲花县| 大渡口区|