Python——記Scrapy的基本使用

Scrapy 爬蟲的使用步驟
  • 創建一個工程
  • 編寫Spider
  • 編寫Item Pipeline
  • 優化配置策略

①Request類:向網絡中提交請求

class scrapy.http.Request()
  • Request對象表示一個HTTP請求。
  • 由Spider生成,由Downloader執行。

Resquest類
在這裏插入圖片描述
②Response類:網絡中爬取內容的封裝類
class scrapy.http.Response()

  • Response對象表示一個HTTP響應。
  • 由Downloader生成,由Spider處理

Response類
在這裏插入圖片描述
③Item類: 由Spider產生的信息封裝的類

class scrapy.item.Item()
  • Item對象表示一個從HTML頁面中提取的信息內容。
  • 由Spider生成,由Item Pipeline處理。
  • Item類似字典類型,可以按照字典類型進行操作

Scrapy爬蟲提取信息的方法

  • Beautiful Soup
  • lxml
  • re
  • XPath Selector
  • CSS Selector

記一個小?:

首先打開Pycharm, 進入Terminal:
在這裏插入圖片描述
然後cd到文件目錄,輸入命令:

scrapy startproject python demo

然後我們回到工程文件的目錄發現自動生成了一堆文件, 簡單介紹一下:
demo:外層目錄
 scrapy.cfg:部署Scrapy爬蟲的配置文件
 python:Scrapy框架的用戶自定義Python代碼
  __init_.py:初始化腳本
  items.py:Items代碼模板(繼承類)
  middlewares.py:Middlewares代碼模板(繼承類)
  pipelines.py:Pipelines代碼模板(繼承類)
  settings.py:Scrapy爬蟲的配置文件,優化爬蟲功能需要修改其中的配置項
  spiders:存放建立的爬蟲
   __init_
.py:初始化腳本
   _pycache_:緩存
  _pycache_:緩存

然後再到Terminal中,進入到demo目錄下
輸入

scrapy genspider ex berryqiu.github.io

這樣我們就生成了一個名爲ex的爬蟲。可以來到目錄看一下:
在這裏插入圖片描述
打開它,並修改如下:

# -*- coding: utf-8 -*-
import scrapy


class ExSpider(scrapy.Spider):
    name = 'ex'
    allowed_domains = ['berryqiu.github.io']  # 只能爬取這個域名以下的相關鏈接
    start_urls = ['https://berryqiu.github.io/pages/q.html']   # 以列表形式表示所要爬取的初始頁面

    def parse(self, response):  # parse()用於處理響應,解析內容形成字典發現新的URL爬取請求,self是面向對象類所屬關係的標記,response表示從網絡中返回內容或所存儲的對象
        fname = response.url.split('/')[-1] # 用響應的URL中提取名字
        #將響應的內容保存爲文件
        with open(fname, 'wb') as f:
            f.write(response.body)
            self.log('Save file %s.' % fname)
        pass

此時我們查看文件目錄, 就會多一個名爲q.html
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章