PythonScrapy實(shí)戰(zhàn)之古詩(shī)文網(wǎng)的爬取_第1頁(yè)
PythonScrapy實(shí)戰(zhàn)之古詩(shī)文網(wǎng)的爬取_第2頁(yè)
PythonScrapy實(shí)戰(zhàn)之古詩(shī)文網(wǎng)的爬取_第3頁(yè)
PythonScrapy實(shí)戰(zhàn)之古詩(shī)文網(wǎng)的爬取_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第PythonScrapy實(shí)戰(zhàn)之古詩(shī)文網(wǎng)的爬取#Crawlresponsiblybyidentifyingyourself(andyourwebsite)ontheuser-agent

#USER_AGENT='prose(+)'

#Obeyrobots.txtrules

ROBOTSTXT_OBEY=False

#ConfiguremaximumconcurrentrequestsperformedbyScrapy(default:16)

#CONCURRENT_REQUESTS=32

#Configureadelayforrequestsforthesamewebsite(default:0)

#See/en/latest/topics/settings.html#download-delay

#Seealsoautothrottlesettingsanddocs

DOWNLOAD_DELAY=1

#Thedownloaddelaysettingwillhonoronlyoneof:

#CONCURRENT_REQUESTS_PER_DOMAIN=16

#CONCURRENT_REQUESTS_PER_IP=16

#Disablecookies(enabledbydefault)

#COOKIES_ENABLED=False

#DisableTelnetConsole(enabledbydefault)

#TELNETCONSOLE_ENABLED=False

#Overridethedefaultrequestheaders:

DEFAULT_REQUEST_HEADERS={

'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/97.0.4692.71Safari/537.36',

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Language':'en',

#Enableordisablespidermiddlewares

#See/en/latest/topics/spider-middleware.html

#SPIDER_MIDDLEWARES={

#'prose.middlewares.ProseSpiderMiddleware':543,

#Enableordisabledownloadermiddlewares

#See/en/latest/topics/downloader-middleware.html

#DOWNLOADER_MIDDLEWARES={

#'prose.middlewares.ProseDownloaderMiddleware':543,

#Enableordisableextensions

#See/en/latest/topics/extensions.html

#EXTENSIONS={

#'scrapy.extensions.telnet.TelnetConsole':None,

#Configureitempipelines

#See/en/latest/topics/item-pipeline.html

ITEM_PIPELINES={

'prose.pipelines.ProsePipeline':300,

#EnableandconfiguretheAutoThrottleextension(disabledbydefault)

#See/en/latest/topics/autothrottle.html

#AUTOTHROTTLE_ENABLED=True

#Theinitialdownloaddelay

#AUTOTHROTTLE_START_DELAY=5

#Themaximumdownloaddelaytobesetincaseofhighlatencies

#AUTOTHROTTLE_MAX_DELAY=60

#TheaveragenumberofrequestsScrapyshouldbesendinginparallelto

#eachremoteserver

#AUTOTHROTTLE_TARGET_CONCURRENCY=1.0

#Enableshowingthrottlingstatsforeveryresponsereceived:

#AUTOTHROTTLE_DEBUG=False

#EnableandconfigureHTTPcaching(disabledbydefault)

#See/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings

#HTTPCACHE_ENABLED=True

#HTTPCACHE_EXPIRATION_SECS=0

#HTTPCACHE_DIR='httpcache'

#HTTPCACHE_IGNORE_HTTP_CODES=[]

#HTTPCACHE_STORAGE='scrapy.extensions.httpcache.FilesystemCacheStorage'

3.爬蟲程序.py

首先是進(jìn)行頁(yè)面分析,這里不再贅述該過(guò)程。

這部分代碼,也即需要編輯的核心部分。

首先是要把初始URL加以修改,修改為要爬取的界面的第一頁(yè),而非古詩(shī)文網(wǎng)的首頁(yè)。

需求:我們要爬取的內(nèi)容包括:詩(shī)詞的標(biāo)題信息,作者,朝代,詩(shī)詞內(nèi)容,及譯文。爬取過(guò)程需要逐頁(yè)爬取。

其中,標(biāo)題信息,作者,朝代,詩(shī)詞內(nèi)容,及譯文都存在于同一個(gè)div標(biāo)簽中。

為了體現(xiàn)兩種不同的操作方式,

標(biāo)題信息,作者,朝代,詩(shī)詞內(nèi)容四項(xiàng),我們使用一種方法獲取。并在該for循環(huán)中使用到一個(gè)異常處理語(yǔ)句(tryexcept)來(lái)避免取到空值時(shí)使用索引導(dǎo)致的報(bào)錯(cuò);

對(duì)于譯文,我們額外定義一個(gè)parse_detail函數(shù),并在scrapy.Request()中傳入其,來(lái)獲取。

關(guān)于翻頁(yè),我們的思路是:遍歷獲取完每一頁(yè)需要的數(shù)據(jù)后(即一大輪循環(huán)結(jié)束后),從當(dāng)前頁(yè)面上獲取下一頁(yè)的鏈接,然后判斷獲取到的鏈接

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論