日韩性视频-久久久蜜桃-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爬取整个美女网爬下来,要多少有多少的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品无码在线视频 | 欧日韩不卡在线视频 | 长腿校花无力呻吟娇喘的视频 | 国产男人的天堂 | 亚洲精品久久久久国产 | 永久免费在线观看av | 免费视频一区二区 | 日本熟妇色xxxxx日本免费看 | 激情婷婷综合网 | 成人中文字幕+乱码+中文字幕 | 日本bdsm视频| 99re在线视频观看 | 啦啦啦免费高清视频在线观看 | 免费国产视频 | 青青青手机视频 | 污导航在线| 三级三级久久三级久久 | 久久综合色88 | 性做久久久久久久久 | 国产精品久久久久久久免费大片 | 暖暖日本在线视频 | 91精品国产成人观看 | 综合激情亚洲 | 一区二区三区精品视频在线观看 | 亚洲成人国产 | 国产精品入口麻豆 | 亚洲永久精品在线观看 | 福利影院在线 | 欧美精品久久久久久久 | 伊人色综合久久久 | 日韩激情啪啪 | 久久网站视频 | 任你操精品 | 91九色在线视频 | 第一色综合 | 日本中文字幕在线不卡 | 涩涩网站在线观看 | 免费看60分钟黄视频 | 中文字幕日韩精品无码内射 | 日韩精品在线一区 | 性视频播放免费视频 | 欧亚一区二区三区 | 亚洲无码久久久久 | 日韩欧美在线观看一区二区三区 | 成人h片| 日本熟妇人妻中出 | 久久毛片网 | 啦啦啦视频在线观看 | 三级小视频在线观看 | 成人录像 | 精品无码久久久久久久久 | 日本一区二区三区在线免费观看 | 国产精品青青草 | 色在线影院 | 91精品播放 | 三级网站在线 | 精品人妻无码专区在线 | 97精品在线观看 | 国产精品久久毛片 | 色网在线免费观看 | 337p粉嫩日本欧洲亚洲大胆 | 无码粉嫩虎白一线天在线观看 | 婷婷激情五月网 | av国产精品 | 在线视频成人 | 成 人 免费 黄 色 | 最好看的电影2019中文字幕 | 91吃瓜今日吃瓜入口 | 欧美另类xxxx野战 | 超碰在线日韩 | 亚洲精品成人无码毛片 | 成人免费精品 | 婷婷九九 | 亚洲理伦电影 | 揄拍自拍| 91在线免费看| 色播视频在线播放 | 葵司ssni-879在线播放 | 国产在线不卡一区 | 在线观看成年人视频 | 国产福利免费在线观看 | 成人激情视频 | 短篇山村男同肉耽h | 驯服少爷漫画免费观看下拉式漫画 | av污| 夜夜骑天天干 | www.黄色网址| 成品人视频ww入口 | 全程粗话对白视频videos | 日韩一卡二卡三卡四卡 | 一区二区传媒有限公司 | 在线步兵区 | 成人欧美精品 | 日韩1页 | 永久免费在线看片 | 国产手机视频在线 | va在线播放| 国产探花一区 | 热久久亚洲 |