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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

scrapy基本指令

創建項目指令

scrapy startproject name

創建爬蟲指令

scrapy genspider pcname XX.com

啟動爬蟲指令

scrapy crawl pcname

調試爬蟲指令

scrapy shell urlorscrapy shell

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

Response類

屬性相關

  • body 響應的字節數據
  • text 響應之后的文本數據
  • headers 響應頭信息
  • encoding 響應數據的編碼字符集
  • status 響應的狀態碼
  • url 請求的url
  • request 請求的對象
  • meta 元數據,用于request與callback之間傳值

解析相關

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

實戰1:爬取起點中文網小說信息

代碼

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()函數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)#優先級越改,會優先下載def parse_info(self,response:Response):# print("-----------------------解釋小說詳情界面")pass

實戰2:爬取絕對領域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) # 優先級越改,會優先下載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("爬取結束")

效果

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。