wallhaven 基于scrapy框架的爬虫
没啥好说的,就一爬虫,想用就老老实实的下载scrapy这个第三方库
爬的是wallhaven网站上的壁纸,经本人验证,壁纸质量挠挠的,以下爬虫爬的是他的top排行榜上的壁纸,建议隔段时间没啥壁纸了就可以运行试试,进你收藏夹里吃灰去吧。
先贴代码吧
# Obey robots.txt rules
ROBOTSTXT_OBEY = False
在设置settings.py里设置为False,没啥好说的
import scrapyclass WallhavenItem(scrapy.Item):img=scrapy.Field()
接着就是items.py里管道的设置,就一个口用来放壁纸的,名字什么的不重要
import scrapy
import time
from scrapy import Request
from bs4 import BeautifulSoup
from ..items import WallhavenItemclass WallhavenSpiderSpider(scrapy.Spider):name = 'wallhaven_spider'allowed_domains = ['wallhaven.cc']start_urls = ["https://wallhaven.cc/toplist?page=" + f"{i}" for i in range(1, 25)]def parse(self, response):soup = BeautifulSoup(response.text, "html.parser")rick = soup.select(".thumb")for i in rick:morty = i.select_one("a").get("href")yield Request(url=morty, callback=self.PortalGun)def PortalGun(self, response):soup = BeautifulSoup(response.text, 'html.parser')meeseeks = str(soup.select("img")[-1])img_src = meeseeks.split("\"")[-2]item = WallhavenItem()item['img'] = img_srctime.sleep(1)yield item
简单易懂啊,就解析网页,get到目标地址,下载,再在pipelines.py输出就好了
然后就是pipelines.py里的东西
import requests
from scrapy.pipelines.images import ImagesPipeline
import scrapyclass WallhavenPipeline(ImagesPipeline):count = 0# 对某一个媒体资源进行请求发送# item就是接收到的spider提交过来的itemdef get_media_requests(self, item, info):r = requests.get(item['img'], stream=True)print(r.status_code) # 返回状态码if r.status_code == 200:self.count+=1open("./"+str(self.count)+'.png', 'wb').write(r.content) # 将内容写入图片
说实话,没啥技术含量,希望大家玩了命的copy
QWQ
wallhaven 基于scrapy框架的爬虫相关推荐
- 基于scrapy框架的爬虫详细步骤(含没有“下一页”按钮的href抓取)
脱离八爪鱼,最近两天用scrapy爬了一个商品网站,本来可以快很多的,其中有一天把时间花在一行代码上最后绕了一大圈改了个参数就解决了??希望大家少走点弯路. 很多都是对慕课网的一个总结,网址:http ...
- 基于Scrapy框架的Python新闻爬虫
概述 该项目是基于Scrapy框架的Python新闻爬虫,能够爬取网易,搜狐,凤凰和澎湃网站上的新闻,将标题,内容,评论,时间等内容整理并保存到本地 详细 代码下载:http://www.demoda ...
- python新闻爬虫系统的功能_基于Scrapy框架的Python新闻爬虫
一.开发背景 Python作为数据处理方面的一把好手,近年来的热度不断增长.网络爬虫可以说是Python最具代表性的应用之一,那么通过网络爬虫来学习Python以及网络和数据处理的相关内容可以说是再合 ...
- scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容
python爬虫--基于scrapy框架爬取网易新闻内容 1.需求[前期准备] 2.分析及代码实现(1)获取五大板块详情页url(2)解析每个板块(3)解析每个模块里的标题中详情页信息 点击此处,获取 ...
- 19. python爬虫——基于scrapy框架爬取网易新闻内容
python爬虫--基于scrapy框架爬取网易新闻内容 1.需求 [前期准备] 2.分析及代码实现 (1)获取五大板块详情页url (2)解析每个板块 (3)解析每个模块里的标题中详情页信息 1.需 ...
- Python爬虫实战之二 - 基于Scrapy框架抓取Boss直聘的招聘信息
Python爬虫实战之三 - 基于Scrapy框架抓取Boss直聘的招聘信息 ---------------readme--------------- 简介:本人产品汪一枚,Python自学数月,对于 ...
- 14. python爬虫——基于scrapy框架爬取糗事百科上的段子内容
python爬虫--基于scrapy框架爬取糗事百科上的段子内容 1.需求 2.分析及实现 3.实现效果 4.进行持久化存储 (1)基于终端指令 (2)基于管道 [前置知识]python爬虫--scr ...
- 基于Scrapy框架爬取豆瓣《复联4》影评,并生成词云
基于Scrapy框架爬取豆瓣<复联4>影评,并生成词云 1. 介绍及开发环境 2. 爬虫实现 2.1 新建项目 2.2 构造请求 2.3 提取信息 2.4 数据存储 2.4 运行结果 3. ...
- scrapy微博反爬虫_基于Scrapy的微博爬虫设计
Data Base Technique • 数据库技术 Electronic Technology & Software Engineering 电子技术与软件工程 • 187 [关键词]Sc ...
最新文章
- Java封装(速读版)
- 用python绘制漂亮的图形-用python绘制图形的实例详解
- JavaScript- 省市联动代码
- python右对齐格式化输出_python笔记-格式化输出(%和format的用法)
- mysql非安装_mysql 非安装版的配置
- powerdns与nginx结合实现以域名和IP方式访问web服务器80端口时分别跳转到不同页面...
- CI中写原生SQL(封装查询)
- Docker搭建RabbitMQ
- gitee中打开的index.html中图片不显示_typora + gitee + zsh 实现全免费个人云笔记
- 2012浙江大学光华法学院毕业典礼教师发言之高艳东
- 【元胞自动机】基于元胞自动机模拟生命演化、病毒感染等实例附matlab代码
- MVC3.0+knockout.js+Ajax 实现简单的增删改查
- use mysql命令_mysql命令-use
- 对AD采样信号的简单滤波处理
- 虚拟机opnsense作为dhcp服务器,ESXI 与 OPNSense 配合
- 一键定时关机及取消关机
- canvas下雪效果(原生js)
- 肖特基二极管、瞬态二极管、普通二极管等各种二极管的区别?
- ORACLE DUL 工具使用方法介绍
- 通过API接口快速根据关键词获取拼多多商品列表
热门文章
- 【QNX Hypervisor 2.2 用户手册】4.5.1 构建QNX Guest
- 学校计算机室的作用,学校计算机管理人员职责
- linux不重启在线更换故障硬盘(大数据服务器单盘raid0条件下)
- Python入门100例(二)
- 区块链技术总结及发展展望
- 谷歌浏览器信用卡自动填充字段
- android系统设置中修改声音与振动,声效设置全在这了解手机声音和振动选项
- 百胜图Barsetto自助咖啡机畅享咖啡新生活
- 【前端实例代码】Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果~前端开发网页设计基础入门教程~超简单~
- deepin20使用锤科SmartisanOS拟物图标