自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何利用Scrapy爬蟲框架抓取網(wǎng)頁全部文章信息(上篇)

開發(fā) 架構(gòu)
本文主要介紹Scrapy爬蟲框架抓取其中某個網(wǎng)頁數(shù)據(jù)的理論

 前一階段我們已經(jīng)實現(xiàn)了通過Scrapy抓取某一具體網(wǎng)頁頁面的具體信息,關(guān)于Scrapy爬蟲框架中meta參數(shù)的使用示例演示(上)、關(guān)于Scrapy爬蟲框架中meta參數(shù)的使用示例演示(下),但是未實現(xiàn)對所有頁面的依次提取。首先我們理一下爬取思路,大致思想是:當(dāng)獲取到第一個頁面的URL之后,爾后將第二頁的URL發(fā)送給Scrapy,讓Scrapy去自動下載該網(wǎng)頁的信息,之后通過第二頁的URL繼續(xù)獲取第三頁的URL,由于每一頁的網(wǎng)頁結(jié)構(gòu)是一致的,所以通過這種方式如此反復(fù)進(jìn)行迭代,便可以實現(xiàn)整個網(wǎng)頁中的信息提取。其具體的實現(xiàn)過程將通過Scrapy框架來進(jìn)行實現(xiàn),具體的教程如下。

/具體實現(xiàn)/

1、首先URL不再是某一篇具體文章的URL了,而是所有文章列表的URL,如下圖所示,將鏈接放到start_urls里邊,如下圖所示。

2、接下來我們將需要更改parse()函數(shù),在這個函數(shù)中我們需要實現(xiàn)兩件事情。

其一是獲取某一頁面所有文章的URL并對其進(jìn)行解析,獲取每一篇文章里的具體網(wǎng)頁內(nèi)容,其二是獲取下一個網(wǎng)頁的URL并交給Scrapy進(jìn)行下載,下載完成之后再交給parse()函數(shù)。

有了之前的Xpath和CSS選擇器基礎(chǔ)知識之后,獲取網(wǎng)頁鏈接URL就變得相對簡單了。

[[351630]]

3、分析網(wǎng)頁結(jié)構(gòu),使用網(wǎng)頁交互工具,我們可以很快的發(fā)現(xiàn)每一個網(wǎng)頁有20篇文章,即20個URL,而且文章列表都存在于id="archive"這個標(biāo)簽下面,之后像剝洋蔥一樣去獲取我們想要的URL鏈接。 


4、點開下拉三角,不難發(fā)現(xiàn)文章詳情頁的鏈接藏的不深,如下圖圈圈中所示。


5、根據(jù)標(biāo)簽我們按圖索驥,加上選擇器利器,獲取URL猶如探囊取物。在cmd中輸入下圖命令,以進(jìn)入shell調(diào)試窗口,事半功倍。再次強(qiáng)調(diào),這個URL是所有文章的網(wǎng)址,而不是某一篇文章的URL,不然后面你調(diào)試半天都不會有結(jié)果的。


6、根據(jù)第四步的網(wǎng)頁結(jié)構(gòu)分析,我們在shell中寫入CSS表達(dá)式,并進(jìn)行輸出,如下圖所示。其中a::attr(href)的用法很巧妙,也是個提取標(biāo)簽信息的小技巧,建議小伙伴們在提取網(wǎng)頁信息的時候可以經(jīng)常使用,十分方便。


至此,第一頁的所有文章列表的URL已經(jīng)獲取到了。提取到URL之后,如何將其交給Scrapy去進(jìn)行下載呢?下載完成之后又如何調(diào)用我們自己定義的解析函數(shù)呢?

欲知后事如何,且聽下一篇文章分解。

/小結(jié)/

本文主要介紹了Scrapy爬蟲框架抓取其中某個網(wǎng)頁數(shù)據(jù)的理論,為后面抓取全網(wǎng)數(shù)據(jù)埋下伏筆,更精彩的操作在下篇文章奉上,希望對大家的學(xué)習(xí)有幫助。

想學(xué)習(xí)更多關(guān)于Python的知識,可以參考學(xué)習(xí)網(wǎng)址:http://pdcfighting.com/,點擊閱讀原文,可以直達(dá)噢~

 

責(zé)任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2012-07-17 09:13:14

Scrapy

2020-10-29 09:25:34

Scrapy

2020-10-25 08:06:08

Scrapy

2017-05-15 21:00:15

大數(shù)據(jù)Scrapy爬蟲框架

2018-08-08 11:40:24

ScrapyRequest網(wǎng)絡(luò)爬蟲

2021-09-30 09:00:34

Scrapy網(wǎng)絡(luò)爬蟲Python

2021-01-08 09:07:19

Scrapy框架爬蟲

2017-09-16 17:45:32

數(shù)據(jù)采集Scrapy爬蟲

2020-12-07 11:23:32

Scrapy爬蟲Python

2021-04-12 07:36:15

Scrapy爬蟲框架

2021-11-09 09:46:09

ScrapyPython爬蟲

2021-11-08 14:38:50

框架Scrapy 爬蟲

2013-08-28 09:56:46

網(wǎng)頁轉(zhuǎn)化率

2017-04-06 11:12:38

JavaScriptGoogle爬蟲

2021-06-26 10:03:35

Python框架Flask

2011-02-22 10:00:38

.NETc#IronPython

2020-10-27 08:33:38

Scrapy

2020-10-21 08:49:17

Scrapy

2021-05-18 13:25:28

feapder爬蟲Python

2017-04-20 12:30:57

聲明式爬蟲網(wǎng)絡(luò)
點贊
收藏

51CTO技術(shù)棧公眾號