国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Scrapy框架get() 、getall() 、extract() 、extract_first(

liangzai_cool / 1424人閱讀

摘要:前者更好用,取不到就返回,后者取不到就一個錯誤。發現使用得到的是一個對象實例所以是對象實例的方法繼續使用,觀察區別彼女制服著替。彼女制服著替。發現對于類型的對象,并不能使用方法,而使用可以文末附官方文檔鏈接鏈接官方教程關于方法

開篇明義:get() 、getall() 是新版本的方法,extract() 、extract_first()是舊版本的方法。

前者更好用,取不到就返回None,后者取不到就raise一個錯誤。

推薦使用新方法,官方文檔中也都改用前者了

看官方文檔(鏈接附在文末),看到了關于get()、get()方法的使用,查閱網絡沒有資料,那就自己記錄一下。
y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~y( ˙?. )耶~
先說結論:
對于scrapy.selector.unified.SelectorList對象,getall()==extract(),get()==extract_first()
對于scrapy.selector.unified.Selector對象,getall()==extract(),get()!=extract_first()
使用scrapy shell 進行測試

scrapy shell https://gavbus668.com/

得到如下結果:

皆是常規操作

返回html的前200個字符,看看沒有發生錯誤

response.text[:200]

得到:

Out[3]: "rnrn    rn    rn    rn    

bingo

繼續,使用Scrapy Selector下一步操作

In [5]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")
Out[5]:
[,
,
,
]
In [10]: type(response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()"))
Out[10]: scrapy.selector.unified.SelectorList

發現使用Selector得到的是一個SelectorList對象實例

所以get() 、getall() 、extract() 、extract_first()是SelectorList對象實例的方法

繼續使用get() 、getall() 、extract() 、extract_first(),觀察區別:

In [6]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()").get()
Out[6]: "DNW-025 彼女が制服に著替えたら。5"
In [7]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()").getall()
Out[7]: ["DNW-025 彼女が制服に著替えたら。5", "rntttttt", "rntttttt", " / "]
In [8]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()").extract()
Out[8]: ["DNW-025 彼女が制服に著替えたら。5", "rntttttt", "rntttttt", " / "]
In [9]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()").extract_first()
Out[9]: "DNW-025 彼女が制服に著替えたら。5"

over,總結一下:
對于scrapy.selector.unified.SelectorList對象
get() == extract_first()
返回的是一個list,里面包含了多個string,如果只有一個string,則返回["我很孤獨"]這樣的形式
getall() == extract()
返回的是string,list里面第一個string

extract_first()與get()有區別與Selector對象有關

In [17]: type(response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()"))
Out[17]: scrapy.selector.unified.SelectorList

In [18]: type(response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0])
Out[18]: scrapy.selector.unified.Selector

In [19]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0].get()
Out[19]: "DNW-025 彼女が制服に著替えたら。5"

In [20]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0].getall()
Out[20]: ["DNW-025 彼女が制服に著替えたら。5"]

In [21]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0].extract()
Out[21]: "DNW-025 彼女が制服に著替えたら。5"

In [22]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0].extract_first()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
 in 
----> 1 response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0].extract_first()

AttributeError: "Selector" object has no attribute "extract_first"

In [23]: response.xpath("http://*[@id="waterfall"]/div[1]/a/div[2]/span/text()")[0]
Out[23]: 

發現:對于Selector類型的對象,并不能使用extract_first()方法,而使用get()可以

文末附官方文檔鏈接鏈接
Scrapy官方教程——關于get()、getall()方法

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43396.html

相關文章

  • scrapy入門教程——爬取豆瓣電影Top250!

    摘要:注意爬豆爬一定要加入選項,因為只要解析到網站的有,就會自動進行過濾處理,把處理結果分配到相應的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關掉這個選項。 本課只針對python3環境下的Scrapy版本(即scrapy1.3+) 選取什么網站來爬取呢? 對于歪果人,上手練scrapy爬蟲的網站一般是官方練手網站 http://quotes.toscrape.com 我們中國人,當然...

    senntyou 評論0 收藏0
  • scrapy學習之路2(圖片下載與下載的路徑獲取)

    摘要:圖片下載和拿到下載后的路徑小封面圖的爬取,后面通過傳到中詳情頁的爬取詳情頁的完整地址下一頁的爬取與請求不明打開功能注意如要進一步定制功能補充新建 圖片下載和拿到下載后的路徑 1 items.py import scrapy class InfoItem(scrapy.Item): url = scrapy.Field() url_object_id = scrapy....

    WelliJhon 評論0 收藏0
  • 從零開始寫爬蟲

    摘要:幾個朋友對爬蟲很感興趣,他們也都是開發人員,一個開發兩個開發,都沒有過項目開發經驗,正好其中一個最近要爬一個網店的產品信息,所以希望我能拿這網站當寫一個爬蟲來給他們參考學習。我們就在這個文件里開發爬蟲的相關邏輯。 幾個朋友對爬蟲很感興趣,他們也都是開發人員,一個PHP開發兩個JAVA開發,都沒有過python項目開發經驗,正好其中一個最近要爬一個網店的產品信息,所以希望我能拿這網站當d...

    wwq0327 評論0 收藏0
  • 爬蟲爬 JSON HTML 數據

    摘要:最近這兩周在忙著給公司爬一點數據,更文的速度有一點下降,預計今天就爬完了,總結總結經驗。一個爬蟲的框架?;镜葍r于選擇其中的文字提取屬性文檔,這個我不會,我也沒看使用這個類庫解析如請求方式可以用來給中文字符數據放入傳遞即可。 最近這兩周在忙著給公司爬一點數據,更文的速度有一點下降,預計今天就爬完了,總結總結經驗。 其實之前我司是有專門做爬蟲的,不用前端這邊出人干活。后來那人離職了,有可...

    Hegel_Gu 評論0 收藏0
  • 爬蟲爬 JSON HTML 數據

    摘要:最近這兩周在忙著給公司爬一點數據,更文的速度有一點下降,預計今天就爬完了,總結總結經驗。一個爬蟲的框架?;镜葍r于選擇其中的文字提取屬性文檔,這個我不會,我也沒看使用這個類庫解析如請求方式可以用來給中文字符數據放入傳遞即可。 最近這兩周在忙著給公司爬一點數據,更文的速度有一點下降,預計今天就爬完了,總結總結經驗。 其實之前我司是有專門做爬蟲的,不用前端這邊出人干活。后來那人離職了,有可...

    cocopeak 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<