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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Scrapy爬取整个美女网爬下来,要多少有多少

發布時間:2024/9/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scrapy爬取整个美女网爬下来,要多少有多少 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

都2021年了還沒爬過大家喜歡的美女圖片,上先爬取的成果。

簡介

基于Scrapy框架的 美女網爬取

爬蟲入口地址:http://www.meinv.hk/?cat=2

如果你的爬蟲運行正常卻沒有數據,可能的原因是訪問該網站需要梯子。

這里主要學習兩個 技術點、自定義圖片管道和自定義csv數據管道

實現流程

創建項目太簡單了,不說了。

打開網站

在點擊過程中,得到具體的爬取思路,先爬取熱門推薦的標簽,然后在得到每一個美女的具體的圖片的網址。

那么就使用下rules。

rules內規定了對響應中url的爬取規則,爬取得到的url會被再次進行請求,并根據callback函數和follow屬性的設置進行解析或跟進。

這里強調兩點:

  • 一是會對所有返回的response進行url提取,包括首次url請求得來的response;

  • 二是rules列表中規定的所有Rule都會被執行。

進入到pipeline.py里面,引入 from scrapy.pipelines.images import ImagesPipeline, 并且繼承 ImagesPipeline

自定義pipeline可以基于scrapy自帶的ImagesPipeline的基礎上完成。可以重寫ImagesPipeline中的三個法:get_media_requests(),file_path(),item_completed()

在這里插入圖片描述

具體代碼

因為使用的是自定義管道(圖片和CSV),因此不需要編寫「item.py」

mv.py

from?scrapy.linkextractors?import?LinkExtractor from?scrapy.spiders?import?CrawlSpider,?Ruleclass?MvSpider(CrawlSpider):name?=?'mv'allowed_domains?=?['www.meinv.hk']start_urls?=?['http://www.meinv.hk/?cat=2']#?增加提取?a?標簽的href連接的規則#?將提取到的href連接,生成新的Request?請求,?同時指定新的請求后解析函數rules?=?(#?allow?默認使用正則的表達式,查找所有a標簽的href#?follow?為True時,表示在提取規則連接下載完成后,是否再次提取規則中連接Rule(LinkExtractor(allow=r'p=\d+'),?callback='parse_item',?follow=True),)def?parse_item(self,?response):item?=?{}info?=?response.xpath('//div[@class="wshop?wshop-layzeload"]/text()').extract_first()try:item['hometown']?=?info.split("/")[2].strip().split()[1]item['birthday']?=?info.split("/")[1].strip().split()[1]except:item['birthday']?=?"未知"item['hometown']?=?"未知"item['name']?=?response.xpath('//h1[@class="title"]/text()').extract_first()images?=?response.xpath('//div[@class="post-content"]//img/@src')try:item['image_urls']?=?images.extract()except:item['image_urls']?=?''item['images']?=?''item['detail_url']?=?response.urlyield?item

middlewares.py

import?randomfrom?scrapy.downloadermiddlewares.useragent?import?UserAgentMiddlewareclass?RandomUserAgentMiddleware(UserAgentMiddleware):def?__init__(self,?user_agent_list):super().__init__()self.user_agent_list?=?user_agent_list@classmethoddef?from_crawler(cls,?crawler):return?cls(user_agent_list=crawler.settings.get('USER_AGENT_LIST'))def?process_request(self,?request,?spider):user_agent?=?random.choice(self.user_agent_list)if?user_agent:request.headers['User-Agent']?=?user_agentreturn?None

pipelines.py

import?csv import?os from?hashlib?import?sha1from?scrapy?import?Request from?scrapy.pipelines.images?import?ImagesPipeline from?meinv?import?settingsclass?MvImagePipeline(ImagesPipeline):def?get_media_requests(self,?item,?info):for?url?in?item['image_urls']:yield?Request(url,?meta={'name':?item['name']})def?item_completed(self,?results,?item,?info):#將下載完成后的圖片路徑設置到item中item['images']?=?[x?for?ok,?x?in?results?if?ok]return?itemdef?file_path(self,?request,?response=None,?info=None):#?為每位人員創建一個目錄,存放她自己所有的圖片author_name?=?request.meta['name']author_dir?=?os.path.join(settings.IMAGES_STORE,?author_name)if?not?os.path.exists(author_dir):os.makedirs(author_dir)#從連接中提取文件名和擴展名try:filename?=?request.url.split("/")[-1].split(".")[0]except:filename?=?sha1(request.url.encode(encoding='utf-8')).hexdigest()try:ext_name?=?request.url.split(".")[-1]except:ext_name?=?'jpg'#?返回的相對路徑return?'%s/%s.%s'?%?(author_name,?filename,?ext_name)class?MeinvPipeline(object):def?__init__(self):self.csv_filename?=?'meinv.csv'self.existed_header?=?Falsedef?process_item(self,?item,?spider):#?item?dict對象,是spider.detail_parse()?yield{}輸出模塊with?open(self.csv_filename,?'a',?encoding='utf-8')?as?f:writer?=?csv.DictWriter(f,?fieldnames=('name',?'hometown',?'birthday',?'detail_url'))if?not?self.existed_header:#?如果文件不存在,則表示第一次寫入writer.writeheader()self.existed_header?=?Trueimage_urls?=?''for?image_url?in?item['image_urls']:image_urls?+=?image_url?+?','image_urls.strip("\"").strip("\'")data?=?{'name':?item['name'].strip(),'hometown':?item['hometown'],'birthday':?item['birthday'].replace('年',?'-').replace('月',?'-').replace('日',?''),'detail_url':?item['detail_url'],}writer.writerow(data)f.close()return?item

Setting.py

import?osBOT_NAME?=?'meinv'SPIDER_MODULES?=?['meinv.spiders'] NEWSPIDER_MODULE?=?'meinv.spiders'#?Obey?robots.txt?rules ROBOTSTXT_OBEY?=?FalseDOWNLOAD_DELAY?=?1DOWNLOADER_MIDDLEWARES?=?{'meinv.middlewares.RandomUserAgentMiddleware':?543, }BASE_DIR?=?os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #?ImagePipeline?存放圖片使用的目錄位置 IMAGES_STORE?=?os.path.join(BASE_DIR,?'images')ITEM_PIPELINES?=?{'meinv.pipelines.MeinvPipeline':?300,'meinv.pipelines.MvImagePipeline':100 }USER_AGENT_LIST?=?['Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/71.0.3578.98?Safari/537.36','Mozilla/5.0?(Windows?NT?10.0;?WOW64;?Trident/7.0;?rv:11.0)?like?Gecko','Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10.6;?rv:2.0.1)?Gecko/20100101?Firefox/4.0.1' ]

1.文件目錄

2.某人圖片

3.csv文件內容

最后上幾個美圖

總結

以上是生活随笔為你收集整理的Scrapy爬取整个美女网爬下来,要多少有多少的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 一区精品视频在线观看 | 大波大乳videos巨大 | 99ri国产在线| 久久久99精品免费观看 | 中国老太婆性视频 | 看黄色一级片 | 日本一级视频 | 亚洲国产婷婷香蕉久久久久久99 | 日韩综合av | 日本视频三区 | 亚洲激情三区 | 性xxxfllreexxx少妇 | 日本视频在线观看免费 | 中文字字幕第183页 欧美特级一级片 | 骚虎tv | 亚洲人成电影一区二区在线 | 无码日韩精品一区二区 | 国产黄色美女视频 | 免费日本黄色 | 国产精品日韩欧美大师 | 老司机午夜影院 | 欧美 日韩 国产 成人 在线观看 | 日韩中文一区二区三区 | 免费一级特黄3大片视频 | 成人动漫亚洲 | 国产日产精品一区二区 | 性一级视频 | 欧美天天影院 | 成长快手短视频在线观看 | 冲田杏梨av | 使劲插视频 | 91日韩中文字幕 | 亚洲自拍电影 | 97小视频| 久久av高潮av无码av喷吹 | 国产精品99久久久久久久久 | 国产无遮挡又黄又爽免费网站 | 日韩高清在线播放 | 日本a网 | 成人xxxxx| 国产精品久久久久久久久久免费看 | 少妇一级淫免费播放 | av网站免费在线播放 | 久久9966 | 好吊一区二区三区视频 | 亚洲天堂一级片 | 99精品视频在线播放免费 | 女人张开腿让男人桶爽 | 成人久久精品 | 黄色av免费在线观看 | 日韩精品久久久久久免费 | 天堂在线播放 | 亚洲免费精品视频在线观看 | 金鱼妻日剧免费观看完整版全集 | 国产精品久久久久久久成人午夜 | 国产污视频 | 男人肌肌桶女人肌肌 | 性欧美www | 亚洲av乱码一区二区 | 中年夫妇啪啪高潮 | 一区二区伦理 | 美女免费毛片 | 波多野结衣在线一区二区 | 久久精品黄 | 黄色三级在线观看 | 黄色网战在线观看 | 欧美一级黄色片在线观看 | 偷拍青青草 | 丰满少妇被猛烈进入高清播放 | 国产欧美一区二区三区精品酒店 | 久久一区二区三区视频 | 美女100%露胸无遮挡 | 麻豆短视频在线观看 | 久久99精品国产.久久久久久 | 成年人理论片 | 色呦呦国产 | 欧美激情不卡 | 午夜少妇久久久久久久久 | 韩国中文字幕在线观看 | 毛片无遮挡 | 天天做天天躁天天躁 | 欧美日韩成人 | 亚洲毛片在线观看 | 午夜免费激情视频 | 九九九九九伊人 | 草啪啪| www日韩在线观看 | 国产精品av一区 | 久久久黄色大片 | sese在线视频 | 欧美波霸影院 | 久久精品欧美一区二区三区麻豆 | 91成人免费视频 | 男阳茎进女阳道视频大全 | 国产真实的和子乱拍在线观看 | 激情黄色小说网站 | 国产无码精品在线观看 | 日本欧美日韩 | 精品一区二区三区精华液 |