python爬蟲scrapy基本使用超詳細教程

一、介紹

官方文檔:中文2.3版本

下面這張圖大傢應該很熟悉,很多有關scrapy框架的介紹中都會出現這張圖,感興趣的再去查詢相關資料,當然學會使用scrapy才是最主要的。

在這裡插入圖片描述

二、基本使用

2.1 環境安裝

1.linux和mac操作系統

pip install scrapy

2.windows系統

  1. 先安裝wheel:pip install wheel
  2. 下載twisted:下載地址
  3. 安裝twisted:pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl(記得帶後綴)
  4. pip install pywin32
  5. pip install scrapy

3.Anaconda(推薦)

在我一開始學python使用的就是python3.8,在安裝各種庫的時候,總會有各種報錯,真的有點讓人奔潰。Anaconda在安裝過程中就會安裝一些常用的庫,其次,當我們想要安裝其他庫時也很方便。當然大傢也可以選擇安裝其他的一些軟件,

在這裡插入圖片描述

2.2 scrapy使用流程

這裡默認大傢已經安裝好scrapy庫,大傢要記得要在命令行裡輸入以下命令啊。(我使用的anaconda的命令行)

創建工程

scrapy startproject projectName

在這裡插入圖片描述
在這裡插入圖片描述

進入工程目錄:這裡一定要進入到剛才創建好的目錄中

cd projectName

在這裡插入圖片描述

創建爬蟲文件:創建的爬蟲文件會出現在之前創建好的spiders文件夾下

scrapy genspider spiderName www.xxx.com

在這裡插入圖片描述在這裡插入圖片描述

編寫相關代碼

執行爬蟲文件

scrapy crawl spiderName

在這裡插入圖片描述

2.3 文件解析

import scrapy

class HelloSpider(scrapy.Spider):
 name = 'hello' # 爬蟲名稱

 # 允許的域名:限定start_urls列表當中哪些url可以進行請求的發送
 # 通常情況下我們不會使用
 # allowed_domains = ['www.baidu.com'] 

 # 起始的url列表:scrapy會自動對start_urls列表中的每一個url發起請求
 # 我們可以手動添加我們需要訪問的url
 start_urls = ['https://www.baidu.com/','https://www.csdn.net/']

 def parse(self, response): # 當scrapy自動向start_urls中的每一個url發起請求後,會將響應對象保存在response對象中
 # 代碼一般是在parse方法中寫
 print("response:",response)

在這裡插入圖片描述

2.4 settings.py一些常見的設置

相當於requests中的headers參數中的User-Agent

USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68'

可以忽略或者不遵守robots協議

ROBOTSTXT_OBEY = False 

隻有程序出現錯誤的情況下,才顯示日志文件,程序正常執行時隻會輸出我們想要的結果

LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog
//二者是等價的,當然還是推薦使用前者

未加LOG_LEVEL='ERROR'

在這裡插入圖片描述

LOG_LEVEL='ERROR'之後

在這裡插入圖片描述

scrapy 爬取文件保存為CSV文件中文亂碼的解決辦法

//下面的設置可能會導致繁體出現,可以逐個試一下
FEED_EXPORT_ENCODING = "gb18030"
FEED_EXPORT_ENCODING = "utf-8"
FEED_EXPORT_ENCODING = "gbk"

在這裡插入圖片描述

三、實例

3.1 實例要求

目的:爬取百度網頁的百度熱榜

在這裡插入圖片描述 

3.2 實例代碼

實例代碼

在這裡插入圖片描述 

3.3 輸出結果

結果

在這裡插入圖片描述

到此這篇關於python爬蟲scrapy基本使用超詳細教程的文章就介紹到這瞭,更多相關python爬蟲scrapy使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: