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

Python的Scrapy框架基本使用詳解

 更新時(shí)間:2023年12月06日 10:10:15   作者:凌冰_  
這篇文章主要介紹了Python的Scrapy框架基本使用詳解,Scrapy,Python開發(fā)的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù),Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動(dòng)化測試,需要的朋友可以參考下

一、Scrapy框架使用

1. 創(chuàng)建scrapy項(xiàng)目

(不能有漢字,不能數(shù)字開頭)

scrapy startproject Baidu

2. 創(chuàng)建爬蟲文件

cd Baidu
scrapy  genspider wenda www.baidu.com

注意: parse()是執(zhí)行了start_url之后要執(zhí)行的方法,方法中的response就是返回的對象。相當(dāng)于response = requests.get或requests.post

3. 運(yùn)行爬蟲代碼

scrapy crawl wenda

在parse()函數(shù)打印一句話,運(yùn)行后發(fā)現(xiàn)沒有打印結(jié)果,原因是被一個(gè)叫robots.txt的文件給阻止了。

解決:大平臺的君子協(xié)議,只需在settings里將ROBOTSTXT_OBEY = True注釋掉即可。

再次運(yùn)行 

 4. scrapy文檔

scrapy官網(wǎng):https://scrapy.org/ 

scrapy文檔:https://doc.scrapy.org/en/latest/intro/tutorial.html 

scrapy日志:https://docs.scrapy.org/en/latest/news.html

 二、scrapy項(xiàng)目的結(jié)構(gòu)

四、response的屬性和方法

  • response.text 獲取響應(yīng)的字符串(源碼)
  • response.body 獲取響應(yīng)的二進(jìn)制數(shù)據(jù)(二進(jìn)制源碼)
  • response.xpath 直接通過xpath解析response中的內(nèi)容
  • response.extract() 提取selector對象的data所有屬性值
  • response.extract_first() 提取selector列表的第一個(gè)數(shù)據(jù)
  • response.get() : 得到第一條數(shù)據(jù)
  • response.getall() :取出所有的數(shù)據(jù),以列表的方式呈現(xiàn)

五、scrapy工作原理

  1. 引擎向spiders要url
  2. 引擎將要爬取的url給調(diào)度器
  3. 調(diào)度器會(huì)將url生成請求對象放入到指定的隊(duì)列中
  4. 從隊(duì)列中出隊(duì)一個(gè)請求
  5. 引擎將請求交給下載器處理
  6. 下載器發(fā)送請求獲取互聯(lián)網(wǎng)數(shù)據(jù)
  7. 下載器將數(shù)據(jù)返回給引擎
  8. 引擎將數(shù)據(jù)再次給spiders
  9. spiders通過xpath解析該數(shù)據(jù),得到數(shù)據(jù)或url
  10. spiders將數(shù)據(jù)或url給到引擎
  11. 引擎判斷是數(shù)據(jù)還是url,若是數(shù)據(jù),交給管道處理;若是url,交給調(diào)度器處理

到此這篇關(guān)于Python的Scrapy框架基本使用詳解的文章就介紹到這了,更多相關(guān)Python的Scrapy框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解密Python中的描述符(descriptor)

    解密Python中的描述符(descriptor)

    這篇文章主要介紹了解密Python中的描述符(descriptor),本文詳細(xì)講解了描述符(descriptor)的作用、訪問描述符、對描述符賦值、刪除描述符等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • uwsgi啟動(dòng)django項(xiàng)目的實(shí)現(xiàn)步驟

    uwsgi啟動(dòng)django項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了uwsgi啟動(dòng)django項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python繪制驚艷的?;鶊D的示例詳解

    Python繪制驚艷的?;鶊D的示例詳解

    很多時(shí)候,我們需要一種必須可視化數(shù)據(jù)如何在實(shí)體之間流動(dòng)的情況。這個(gè)時(shí)候就需要?;鶊D,它通常描繪 從一個(gè)實(shí)體(或節(jié)點(diǎn))到另一個(gè)實(shí)體(或節(jié)點(diǎn))的數(shù)據(jù)流。本文將利用Python繪制驚艷的?;鶊D,需要的可以參考一下
    2022-02-02
  • Python實(shí)現(xiàn)快速多線程ping的方法

    Python實(shí)現(xiàn)快速多線程ping的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)快速多線程ping的方法,實(shí)例分析了Python多線程及ICMP數(shù)據(jù)包的發(fā)送技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Python實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù)

    Python實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù)

    CSV文件包含許多記錄,數(shù)據(jù)分布在各行和各列中,在這篇文章中,小編主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法詳解

    Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法詳解

    PIL是專為Python語言設(shè)計(jì)的圖像處理庫,它涵蓋了廣泛的圖像處理功能,如圖像的加載、保存、編輯,以及執(zhí)行多樣化的圖像處理任務(wù),本文給大家介紹了Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法,需要的朋友可以參考下
    2025-03-03
  • python 如何使用find和find_all爬蟲、找文本的實(shí)現(xiàn)

    python 如何使用find和find_all爬蟲、找文本的實(shí)現(xiàn)

    這篇文章主要介紹了python 如何使用find和find_all,爬蟲、找文本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python?pandas?數(shù)據(jù)排序的幾種常用方法

    python?pandas?數(shù)據(jù)排序的幾種常用方法

    這篇文章主要介紹了python?pandas數(shù)據(jù)排序的幾種常用方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 最新評論