亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python爬蟲(chóng)scrapy框架的梨視頻案例解析

 更新時(shí)間:2021年02月20日 09:51:57   作者:小王子愛(ài)上玫瑰  
這篇文章主要介紹了python爬蟲(chóng)scrapy框架的梨視頻案例解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

之前我們使用lxml對(duì)梨視頻網(wǎng)站中的視頻進(jìn)行了下載,感興趣的朋友點(diǎn)擊查看吧。

下面我用scrapy框架對(duì)梨視頻網(wǎng)站中的視頻標(biāo)題和視頻頁(yè)中對(duì)視頻的描述進(jìn)行爬取

在這里插入圖片描述
在這里插入圖片描述

分析:我們要爬取的內(nèi)容并不在同一個(gè)頁(yè)面,視頻描述內(nèi)容需要我們點(diǎn)開(kāi)視頻,跳轉(zhuǎn)到新的url中才能獲取,我們就不能在一個(gè)方法中去解析我們需要的不同內(nèi)容

1.爬蟲(chóng)文件

  • 這里我們可以仿照爬蟲(chóng)文件中的parse方法,寫一個(gè)新的parse方法,可以將新的url的響應(yīng)對(duì)象傳給這個(gè)新的parse方法
  • 如果需要在不同的parse方法中使用同一個(gè)item對(duì)象,可以使用meta參數(shù)字典,將item傳給callback回調(diào)函數(shù)
  • 爬蟲(chóng)文件中的parse需要yield的Request請(qǐng)求,而item則在新的parse方法中使用yield item傳給下一個(gè)parse方法或管道文件

import scrapy

# 從items.py文件中導(dǎo)入BossprojectItem類
from bossProject.items import BossprojectItem

class BossSpider(scrapy.Spider):
 name = 'boss'
 # allowed_domains = ['www.xxx.com']
 start_urls = ['https://www.pearvideo.com/category_5']

 # 回調(diào)函數(shù)接受響應(yīng)對(duì)象,并且接受傳遞過(guò)來(lái)的meata參數(shù)
 def content_parse(self,response):
 # meta參數(shù)包含在response響應(yīng)對(duì)象中,調(diào)用meta,然后根據(jù)鍵值取出對(duì)應(yīng)的值:item
 item = response.meta['item']

 # 解析視頻鏈接中的對(duì)視頻的描述
 des = response.xpath('//div[@class="summary"]/text()').extract()
 des = "".join(des)
 item['des'] = des

 yield item 

 # 解析首頁(yè)視頻的標(biāo)題以及視頻的鏈接
 def parse(self, response):
 li_list = response.xpath('//div[@id="listvideoList"]/ul/li')
 for li in li_list:
  href = li.xpath('./div/a/@href').extract()
   + "".join(href)

  title = li.xpath('./div[1]/a/div[2]/text()').extract()
  title = "".join(title)

  item = BossprojectItem()
  item["title"] = title

  #手動(dòng)發(fā)送請(qǐng)求,并將響應(yīng)對(duì)象傳給回調(diào)函數(shù)
  #請(qǐng)求傳參:meta={},可以將meta字典傳遞給請(qǐng)求對(duì)應(yīng)的回調(diào)函數(shù)
  yield scrapy.Request(href,callback=self.content_parse,meta={'item':item})

2.items.py

要將BossprojectItem類導(dǎo)入爬蟲(chóng)文件中才能夠創(chuàng)建item對(duì)象

import scrapy
class BossprojectItem(scrapy.Item):
 # define the fields for your item here like:
 # name = scrapy.Field()
 # 定義了item屬性
 title = scrapy.Field()
 des = scrapy.Field()

3.pipelines.py

open_spider(self,spider)和close_spider(self,spider)重寫這兩個(gè)父類方法,且這兩個(gè)方法都只執(zhí)行一次在process_item方法中最好保留return item,因?yàn)槿绻嬖诙鄠€(gè)管道類,return item會(huì)自動(dòng)將item對(duì)象傳給優(yōu)先級(jí)低于自己的管道類

from itemadapter import ItemAdapter
class BossprojectPipeline:

 def __init__(self):
 self.fp = None

 # 重寫父類方法,只調(diào)用一次
 def open_spider(self,spider):
 print("爬蟲(chóng)開(kāi)始")
 self.fp = open('./lishipin.txt','w')

 # 接受爬蟲(chóng)文件中yield傳遞來(lái)的item對(duì)象,將item中的內(nèi)容持久化存儲(chǔ)
 def process_item(self, item, spider):
 self.fp.write(item['title'] + '\n\t' + item['des'] + '\n')

 # 如果有多個(gè)管道類,會(huì)將item傳遞給下一個(gè)管道類
 # 管道類的優(yōu)先級(jí)取決于settings.py中的ITEM_PIPELINES屬性中對(duì)應(yīng)的值
  ## ITEM_PIPELINES = {'bossProject.pipelines.BossprojectPipeline': 300,} 鍵值中的值越小優(yōu)先級(jí)越高
 return item

 # 重寫父類方法,只調(diào)用一次
 def close_spider(self,spider): 
 self.fp.close()
 print("爬蟲(chóng)結(jié)束")

4.進(jìn)行持久化存儲(chǔ)

在這里插入圖片描述

到此這篇關(guān)于python爬蟲(chóng)scrapy框架的梨視頻案例解析的文章就介紹到這了,更多相關(guān)python爬蟲(chóng)scrapy框架內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python PyMuPDF實(shí)現(xiàn)PDF與圖片和PPT相互轉(zhuǎn)換

    Python PyMuPDF實(shí)現(xiàn)PDF與圖片和PPT相互轉(zhuǎn)換

    能夠用來(lái)對(duì)PDF文檔進(jìn)行操作的Python包有好幾個(gè),如提取內(nèi)容的PdfPlumber、PDFMiner,可以用來(lái)對(duì)PDF文件進(jìn)行修改操作的PyPDF2等等,如果只是需要簡(jiǎn)單地對(duì)PDF文件實(shí)現(xiàn)合并、拆分、書(shū)簽操作,使用PyPDF2就足以滿足。但如果想對(duì)PDF文件進(jìn)行一些底層操作,基本上只有PyMuPDF了
    2022-12-12
  • Python中方法的缺省參數(shù)問(wèn)題解讀

    Python中方法的缺省參數(shù)問(wèn)題解讀

    這篇文章主要介紹了Python中方法的缺省參數(shù)問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python OpenCV使用dlib進(jìn)行多目標(biāo)跟蹤詳解

    Python OpenCV使用dlib進(jìn)行多目標(biāo)跟蹤詳解

    這篇文章主要為大家介紹了如何使用 dlib 庫(kù)在實(shí)時(shí)視頻中有效地跟蹤多個(gè)對(duì)象,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定幫助,需要的可以參考一下
    2022-03-03
  • python3中獲取文件當(dāng)前絕對(duì)路徑的兩種方法

    python3中獲取文件當(dāng)前絕對(duì)路徑的兩種方法

    下面小編就為大家分享一篇python3中獲取文件當(dāng)前絕對(duì)路徑的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python3往mysql插入二進(jìn)制圖片出現(xiàn)1064錯(cuò)誤

    python3往mysql插入二進(jìn)制圖片出現(xiàn)1064錯(cuò)誤

    這篇文章主要介紹了python3往mysql插入二進(jìn)制圖片出現(xiàn)1064錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    這篇文章主要介紹了windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python實(shí)現(xiàn)將pdf轉(zhuǎn)換為png格式的相關(guān)模塊、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-07-07
  • Python+Pygame實(shí)戰(zhàn)之24點(diǎn)游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)戰(zhàn)之24點(diǎn)游戲的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和Pygame實(shí)現(xiàn)24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python爬蟲(chóng)制作翻譯程序的示例代碼

    Python爬蟲(chóng)制作翻譯程序的示例代碼

    這篇文章主要介紹了Python爬蟲(chóng)制作翻譯程序的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Django model重寫save方法及update踩坑詳解

    Django model重寫save方法及update踩坑詳解

    這篇文章主要介紹了Django model重寫save方法及update踩坑詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解

    python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了python線程安全及多進(jìn)程多線程實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論