python爬取妹子图片1_【爬虫】直接上干货-爬取妹子图整站图片
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#coding=utf-8
import os
import requests
from lxml import etree
import time
class MieZiTu(object):
"""爬取妹子图的整站图片"""
def __init__(self):
#从这里开始
self.url = 'http://www.mzitu.com/all/'
#请求头一定要加上referer证明你是从那里来的,否则抓取不到图片
self.headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3088.3 Safari/537.36",
"Referer":"http://www.mzitu.com/all/",
}
def get_url_all(self):
"""获取所有的大类url"""
start = time.time()
url_all_resp = requests.get(self.url,self.headers)
url_all_html = etree.HTML(url_all_resp.text)
url_all_list = url_all_html.xpath('//div[@class="all"]//ul/li/p[2]/a/@href')
end = time.time()
#计算时间
self.t1 = end-start
print '获取所有的大类url完成,耗时%f秒'%self.t1
#返回所有小类的url列表
return url_all_list
def get_page_url(self):
"""获取所有每页的url"""
start = time.time()
# 调用上一个方法,获取到返回结果,所有大类的列表all_list
all_list = self.get_url_all()
print '正在获取每页的url...'
#创建一个列表,来存放所有页面的url,每一个图片算一个页面
pageUrl_List = []
#遍历大类的url列表
for page_url in all_list:
#发送请求返回每个大类的页面
page_resp = requests.get(page_url,headers=self.headers)
#解析html进行xpath匹配
page_html = etree.HTML(page_resp.text)
#使用xpath获取到每个小类的页码url
page_url_list = page_html.xpath('//div[@class="pagenavi"]/a/@href')
#创建一个列表用来过滤页码
page_list = []
#遍历小类url分割每个url,然后把每个页吗url的最后一部分添加到列表
for page in page_url_list:
i = page.split('/')
page_list.append(i[-1])#取分割部分的最后一部分,即页码
#获取到每个页吗的最大页数
page_num = page_list[-2]
#循环拼接每个每一个小类的每一页的url,添加到列表中
for urlNum in range(1,int(page_num)+1):
Page_url = page_url+'/'+str(urlNum)
pageUrl_List.append(Page_url)
end = time.time()
self.t2 = end-start
print '获取所有页码的url完成,耗时%f秒'%self.t2
return pageUrl_List
def get_img_url(self):
"""获取每个页码图片的url"""
start = time.time()
PageUrlList = self.get_page_url()
num = 1
#遍历出每个页码的url,发送请求返回数据,xpath匹配出图片的url,下载到本地
for page_img_url in PageUrlList:
page_img_html = requests.get(page_img_url,headers=self.headers)
page_img_lxml = etree.HTML(page_img_html.text)
img_url = page_img_lxml.xpath('//div[@class="main-image"]//img/@src')
for url_img in img_url:
img_resp = requests.get(url_img,headers=self.headers)
os.chdir('/home/python/pytest/meizitu/img')
with open('妹子图'+str(num)+'.jpg','wb') as f:
f.write(img_resp.content)
f.close()
print '第%d妹子图写入完成...'%num
num+=1
end = time.time()
self.t3 = end-start
end_time = self.t1+self.t2+self.t3
print '全站图片写入完成,总耗时%f秒'%end_time
meizi = MieZiTu()
meizi.get_img_url()
python爬取妹子图片1_【爬虫】直接上干货-爬取妹子图整站图片相关推荐
- python爬虫爬妹子图_【爬虫】直接上干货-爬取妹子图整站图片
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #coding=utf-8 import os import requests from lxml import etree import time cl ...
- 【期末课设】python爬虫基础与可视化,使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载。
1.大作业的内容 本要求使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载. 2.案例需求 要求采用虚拟浏览器等动态爬虫技术,完 ...
- 想要快速爬取整站图片?速进(附完整代码)
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...
- 【Python】从爬虫开始吧——爬取妹子图整站
首先得解决环境和工具的问题 Python基础教程 Python3基础教程 大家也可以去慕课网看视频学习哦,关于选择Python2还是Python3的问题,上手的话还是直接选择3吧. 关于爬虫 爬虫就是 ...
- python怎么爬取豆瓣首页_Python3 爬虫(二) -- 爬取豆瓣首页图片
''' 批量下载豆瓣首页的图片 采用伪装浏览器的方式爬取豆瓣网站首页的图片,保存到指定路径文件夹下 ''' #导入所需的库 import urllib.request,socket,re,sys,os ...
- python爬取小说基本信息_Python爬虫零基础实例---爬取小说吧小说内容到本地
Python爬虫实例--爬取百度贴吧小说 写在前面本篇文章是我在简书上写的第一篇技术文章,作为一个理科生,能把仅剩的一点文笔拿出来献丑已是不易,希望大家能在指教我的同时给予我一点点鼓励,谢谢. 一.介 ...
- python批量下载静态页面_爬虫实战之,爬取壁纸,批量下载
一.前言 在开始写爬虫之前,我们先了解一下爬虫 首先,我们需要知道爬虫是什么,这里直接引用百度百科的定义 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按 ...
- python爬取bilibili弹幕_python爬虫:bilibili弹幕爬取+词云生成
如果你懒得看下边的文字,我录了一个完整的教学视频在b站上. 我的B站教学:https://www.bilibili.com/video/av75377135?p=2 工作原理 b站是提供弹幕接口的,所 ...
- python3爬取视频原理_Python3爬虫实战:以爬取豆瓣电影为例
爬虫又称为网页蜘蛛,是一种程序或脚本. 但重点在于,它能够按照一定的规则,自动获取网页信息. 爬虫的基本原理--通用框架 1.挑选种子URL: 2.讲这些URL放入带抓取的URL列队: 3.取出带抓取 ...
最新文章
- 如何使网站的右键失效
- perl中用warn进行调试
- 关于listen的第二个参数backlog的一些问答见解
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林
- c mysql批量添加数据类型_mybatis学习之路----mysql批量新增数据
- 82 个代码案例实践,带你学好 Python 机器学习
- JVM内存划分、Linux用户态、内核态简介
- Coding the Matrix Week 1 The vector 作业
- Linux之内核调试sysrq
- 如何让路由器摆脱安全困扰
- windows系统开机自动扫描硬盘的原因及解决方法
- 论文阅读|How Does Batch Normalizetion Help Optimization
- solr6.3与MySQL结合使用的简明教程一
- 1688api 图片搜索功能 item_search_img-按图搜索1688商品(拍立淘)
- 云计算网络基础架构的实践和演进
- java 依赖倒置_Java设计原则—依赖倒置原则(转)
- 当我们谈注册中心时我们谈什么
- CleanMyMac最新2020注册机
- java里readfile,readfile java例子
- 判断点线位置(结构)
热门文章
- 短视频搬运要如何做,需要哪些软件,可以去重上热门?
- 【爬虫学习笔记day11】1.9. 参考阅读:urllib:Handler处理器和自定义Opener+ProxyHandler处理器(代理设置)+cookiejar库 和 HTTPCookieProc
- imx6ull:uboot顶层Makefile分析
- QQ 等级全球第一的人找到了:小时候家里开网吧
- 用Python求素数
- 吴恩达--机器学习笔记(2022年课程第二周)
- Java对身份证信息打码隐藏
- 二、5.输入身份证号,输出此人的出生年月日。注意限制输入的身份证号只能为18位,第7位开始即为出生年月日
- libGDX游戏开发之打包游戏(十二)
- 国仁网络资讯:如何运营好小红书上直播间;超详细直播互动话术攻略教程。