日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scrapy爬取起点中文网小说信息 绝对领域cosplay

發(fā)布時(shí)間:2023/12/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scrapy爬取起点中文网小说信息 绝对领域cosplay 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

scrapy基本指令

創(chuàng)建項(xiàng)目指令

scrapy startproject name

創(chuàng)建爬蟲指令

scrapy genspider pcname XX.com

啟動爬蟲指令

scrapy crawl pcname

調(diào)試爬蟲指令

scrapy shell urlorscrapy shell

加url response會自動下載下來url內(nèi)容,打開shell。
不加不下載,可以在其中用 fetch(url) 下載

Response類

屬性相關(guān)

  • body 響應(yīng)的字節(jié)數(shù)據(jù)
  • text 響應(yīng)之后的文本數(shù)據(jù)
  • headers 響應(yīng)頭信息
  • encoding 響應(yīng)數(shù)據(jù)的編碼字符集
  • status 響應(yīng)的狀態(tài)碼
  • url 請求的url
  • request 請求的對象
  • meta 元數(shù)據(jù),用于request與callback之間傳值

解析相關(guān)

  • selector()
  • css() 樣式選擇器,返回Selector選擇器的可迭代對象(列表)
    • scrapy.selector.SelectorList
      • x()/xpath()
    • scrapy.selector.Selector
    • css選擇器提取文本
      ` ::text 提取文本
      :: attr(“屬性名”)提取屬性
  • xpath() xpath路徑
  • 選擇器常用的方法
  • css()/xpath()
  • extract() 提取選擇中的所有內(nèi)容,返回是list
  • extract_first()/get() 提取每個選擇器的內(nèi)容,返回是文本

實(shí)戰(zhàn)1:爬取起點(diǎn)中文網(wǎng)小說信息

代碼

import scrapy from scrapy.http import Request,Responseclass WanbenSpider(scrapy.Spider):name = 'wanben'allowed_domains = ['qidian.com','book.qidian.com']start_urls = ['https://www.qidian.com/finish']def parse(self, response):if response.status==200:lis=response.css('.all-img-list li')#selectorlisfor i in lis :items = {}# i對象類型是selector,注意selector沒有x()函數(shù)a=i.xpath('./div[1]/a')items['book_url']=a.xpath('./@href').get()items['book_cover']=a.xpath('./img/@src').get()items['book_name']=i.xpath('div[2]/h4//text()').get()items['author'],*items['tags']=i.css('.author a::text').extract()items['summary']=i.css('.intro::text').get()yield items# yield Request('https:'+items['book_url'],callback=self.parse_info,priority=1)next_url='https:'+response.css('.lbf-pagination-item-list').xpath('./li[last()]/a/@href').get()if next_url.find('page')!=-1:yield Request(next_url,priority=100)#優(yōu)先級越改,會優(yōu)先下載def parse_info(self,response:Response):# print("-----------------------解釋小說詳情界面")pass

實(shí)戰(zhàn)2:爬取絕對領(lǐng)域cosplay一整頁套圖

代碼

import scrapy import requests import os from scrapy.http import Request,Response class JdlySpider(scrapy.Spider):name = 'jdly'allowed_domains = ['jder.net']start_urls = ['https://www.jder.net/cosplay']def parse(self, response):if response.status==200:lis=response.css(".post-module-thumb a")c=lis.xpath('./@href').extract()for i in c:yield Request(i,callback=self.get_img)# for j in range(2,10):# next_url='https://www.jder.net/cosplay/page/'+str(j)# yield Request(next_url) # 優(yōu)先級越改,會優(yōu)先下載def get_img(self,response:Response):if response.status == 200:list = response.css(".entry-content p")head=response.css(".entry-header h1::text").get()imgs=list.xpath("./img/@src").extract()# for i in imgs:# print(i)x=1path=r'F:\360MoveData\Users\ZMZ\Desktop\pachong\\'os.mkdir(path+head)path2=r'F:\360MoveData\Users\ZMZ\Desktop\pachong\\'+head+'\\'for url in imgs:file_name="圖片"+str(x)+".jpeg"q=requests.get(url)with open(path2+file_name,'wb') as f:f.write(q.content)print("成功爬取%d" % x)x+=1print("爬取結(jié)束")

效果

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-BwQHpFCS-1599897977481)(https://i.loli.net/2020/08/31/rm7ViMSesHzclk4.png)]

總結(jié)

以上是生活随笔為你收集整理的Scrapy爬取起点中文网小说信息 绝对领域cosplay的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。