目錄
- 一、介紹
- 二、基本使用
- 2.1 環(huán)境安裝
- 2.2 scrapy使用流程
- 2.3 文件解析
- 2.4 settings.py一些常見的設(shè)置
- 三、實例
- 3.1 實例要求
- 3.2 實例代碼
- 3.3 輸出結(jié)果
一、介紹
官方文檔:中文2.3版本
下面這張圖大家應(yīng)該很熟悉,很多有關(guān)scrapy框架的介紹中都會出現(xiàn)這張圖,感興趣的再去查詢相關(guān)資料,當(dāng)然學(xué)會使用scrapy才是最主要的。
二、基本使用
2.1 環(huán)境安裝
1.linux和mac操作系統(tǒng):
2.windows系統(tǒng):
- 先安裝wheel:
pip install wheel
- 下載twisted:下載地址
- 安裝twisted:
pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl
(記得帶后綴)
pip install pywin32
pip install scrapy
3.Anaconda(推薦)
在我一開始學(xué)python使用的就是python3.8,在安裝各種庫的時候,總會有各種報錯,真的有點讓人奔潰。Anaconda在安裝過程中就會安裝一些常用的庫,其次,當(dāng)我們想要安裝其他庫時也很方便。當(dāng)然大家也可以選擇安裝其他的一些軟件,
2.2 scrapy使用流程
這里默認(rèn)大家已經(jīng)安裝好scrapy庫,大家要記得要在命令行里輸入以下命令啊。(我使用的anaconda的命令行)
創(chuàng)建工程
scrapy startproject projectName
進(jìn)入工程目錄:這里一定要進(jìn)入到剛才創(chuàng)建好的目錄中
創(chuàng)建爬蟲文件:創(chuàng)建的爬蟲文件會出現(xiàn)在之前創(chuàng)建好的spiders文件夾下
scrapy genspider spiderName www.xxx.com
編寫相關(guān)代碼
執(zhí)行爬蟲文件
2.3 文件解析
import scrapy
class HelloSpider(scrapy.Spider):
name = 'hello' # 爬蟲名稱
# 允許的域名:限定start_urls列表當(dāng)中哪些url可以進(jìn)行請求的發(fā)送
# 通常情況下我們不會使用
# allowed_domains = ['www.baidu.com']
# 起始的url列表:scrapy會自動對start_urls列表中的每一個url發(fā)起請求
# 我們可以手動添加我們需要訪問的url
start_urls = ['https://www.baidu.com/','https://www.csdn.net/']
def parse(self, response): # 當(dāng)scrapy自動向start_urls中的每一個url發(fā)起請求后,會將響應(yīng)對象保存在response對象中
# 代碼一般是在parse方法中寫
print("response:",response)
2.4 settings.py一些常見的設(shè)置
相當(dāng)于requests中的headers參數(shù)中的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協(xié)議
只有程序出現(xiàn)錯誤的情況下,才顯示日志文件,程序正常執(zhí)行時只會輸出我們想要的結(jié)果
LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog
//二者是等價的,當(dāng)然還是推薦使用前者
未加LOG_LEVEL='ERROR'
加LOG_LEVEL='ERROR'
之后
scrapy 爬取文件保存為CSV文件中文亂碼的解決辦法
//下面的設(shè)置可能會導(dǎo)致繁體出現(xiàn),可以逐個試一下
FEED_EXPORT_ENCODING = "gb18030"
FEED_EXPORT_ENCODING = "utf-8"
FEED_EXPORT_ENCODING = "gbk"
三、實例
3.1 實例要求
目的:爬取百度網(wǎng)頁的百度熱榜
3.2 實例代碼
實例代碼
3.3 輸出結(jié)果
結(jié)果
到此這篇關(guān)于python爬蟲scrapy基本使用超詳細(xì)教程的文章就介紹到這了,更多相關(guān)python爬蟲scrapy使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python爬蟲基礎(chǔ)講解之scrapy框架
- Python爬蟲實戰(zhàn)之使用Scrapy爬取豆瓣圖片
- Python爬蟲框架-scrapy的使用
- python scrapy項目下spiders內(nèi)多個爬蟲同時運行的實現(xiàn)
- Python爬蟲之教你利用Scrapy爬取圖片
- python爬蟲scrapy框架之增量式爬蟲的示例代碼
- 一文讀懂python Scrapy爬蟲框架
- Python爬蟲之Scrapy環(huán)境搭建案例教程